Aracılığıyla paylaş


iOS'a Özgü Biçimlendirme Ekleme

iOS'a özgü biçimlendirmeyi ayarlamanın bir yolu, bir denetim için özel işleyici oluşturmak ve her platform için platforma özgü stiller ve renkler ayarlamaktır.

iOS uygulamanızın Xamarin.Forms görünümünü denetlemeye ilişkin diğer seçenekler şunlardır:

Bu alternatifler aşağıda açıklandı.

Info.plist Dosyasını Özelleştirme

Info.plist dosyası, bir iOS uygulamasının işleyicisinin durum çubuğunun nasıl (ve olup olmadığı) gibi bazı yönlerini yapılandırmanıza olanak tanır.

Örneğin, tüm platformlarda gezinti çubuğu rengini ve metin rengini ayarlamak için aşağıdaki kodu kullanın:

var nav = new NavigationPage (new TodoListPage ());
nav.BarBackgroundColor = Color.FromHex("91CA47");
nav.BarTextColor = Color.White;

Sonuç aşağıdaki ekran parçacığında gösterilir. Durum çubuğu öğelerinin siyah olduğuna dikkat edin (platforma özgü bir özellik olduğundan bu ayar Xamarin.Forms yapılamıyor).

Durum çubuğu öğelerini siyah metinle gösteren iOS Temalı'nın ekran görüntüsü.

İdeal olarak durum çubuğu da beyaz olur. Bu, doğrudan iOS projesinde gerçekleştirebileceğimiz bir özelliktir. Durum çubuğunu beyaz olmaya zorlamak için Info.plist'e aşağıdaki girdileri ekleyin:

iOS Info.plist Girdileri

veya ilgili Info.plist dosyasını doğrudan şunları içerecek şekilde düzenleyin:

<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

Artık uygulama çalıştırıldığında, iOS'a özgü yapılandırma sayesinde gezinti çubuğu yeşil, metni beyaz (biçimlendirme nedeniyle Xamarin.Forms ) ve durum çubuğu metni de beyazdır:

Durum çubuğu öğelerini beyaz metinle gösteren iOS Temalı'nın ekran görüntüsü.

UIAppearance API'si

API, özel işleyici oluşturmak zorunda kalmadan birçok iOS denetiminde görsel özellikleri ayarlamak için kullanılabilir.UIAppearance

AppDelegate.cs FinishedLaunching yöntemine tek bir kod satırı eklemek, belirli bir türün tüm denetimlerini kendi Appearance özelliğini kullanarak şekillendirebilir. Aşağıdaki kod, sekme çubuğunu ve anahtar denetimini genel olarak şekillendirmek için iki örnek içerir:

iOS Projesinde AppDelegate.cs

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
  // tab bar
    UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
  // switch
    UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
    // required Xamarin.Forms code
    Forms.Init ();
    LoadApplication (new App ());
    return base.FinishedLaunching (app, options);
}

UITabBar

Varsayılan olarak, seçili sekme çubuğu simgesi TabbedPage mavi olacaktır:

TabbedPage'de varsayılan iOS Sekme Çubuğu Simgesi

Bu davranışı değiştirmek için özelliğini ayarlayın UITabBar.Appearance :

UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green

Bu, seçili sekmenin yeşil olmasını neden olur:

TabbedPage'de Yeşil iOS Sekme Çubuğu Simgesi

Bu API'nin kullanılması, iOS'ta görünümünü Xamarin.FormsTabbedPage çok az kodla özelleştirmenize olanak tanır. Sekme için belirli bir yazı tipi ayarlamak üzere özel işleyici kullanma hakkında daha fazla ayrıntı için Sekmeleri Özelleştir tarifine bakın.

UISwitch

Denetim Switch , kolayca stillendirilebilen başka bir örnektir:

UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green

Bu iki ekran görüntüsü soldaki varsayılan UISwitch denetimi ve sağda özelleştirilmiş sürümü (ayar Appearance) gösterir:

Varsayılan UISwitch Rengi Özelleştirilmiş UISwitch Rengi

Diğer denetimler

Birçok iOS kullanıcı arabirimi denetiminin varsayılan renkleri ve diğer öznitelikleri API kullanılarak UIAppearance ayarlanabilir.