Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Jedním ze způsobů, jak nastavit formátování specifické pro iOS, je vytvořit vlastní renderer pro ovládací prvek a nastavit styly a barvy specifické pro platformu pro každou platformu.
Mezi další možnosti řízení vzhledu Xamarin.Forms aplikace pro iOS patří:
- Konfigurace možností zobrazení v souboru Info.plist
- Nastavení stylů ovládacích
UIAppearanceprvků prostřednictvím rozhraní API
Tyto alternativy jsou popsány níže.
Přizpůsobení souboru Info.plist
Soubor Info.plist umožňuje nakonfigurovat některé aspekty vykreslování aplikace pro iOS, například jak (a zda) je zobrazený stavový řádek.
Pomocí následujícího kódu můžete například nastavit barvu navigačního panelu a barvu textu na všech platformách:
var nav = new NavigationPage (new TodoListPage ());
nav.BarBackgroundColor = Color.FromHex("91CA47");
nav.BarTextColor = Color.White;
Výsledek se zobrazí v následujícím fragmentu obrazovky. Všimněte si, že položky stavového řádku jsou černé (nedá se nastavit v rámci Xamarin.Forms , protože se jedná o funkci specifickou pro platformu).

V ideálním případě by stavový řádek byl také bílý – něco, čeho můžeme dosáhnout přímo v projektu iOS. Do souboru Info.plist přidejte následující položky, které vynutí, aby stavový řádek byl bílý:

nebo upravte odpovídající soubor Info.plist přímo tak, aby zahrnoval:
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
Když je aplikace spuštěná, navigační panel je zelený a jeho text je bílý (kvůli Xamarin.Forms formátování) a text stavového řádku je také bílý díky konfiguraci specifické pro iOS:

UIAppearance API
Rozhraní UIAppearance API lze použít k nastavení vizuálních vlastností na mnoha ovládacích prvcích iOS, aniž byste museli vytvářet vlastní renderer.
Přidání jednoho řádku kódu do metody AppDelegate.cs FinishedLaunching může stylizovat všechny ovládací prvky daného typu pomocí jejich Appearance vlastnosti. Následující kód obsahuje dva příklady – globální stylování panelu karet a ovládacího prvku přepínače:
AppDelegate.cs v projektu pro iOS
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
Ve výchozím nastavení je vybraná ikona panelu karet v TabbedPage by byla modrá:

Chcete-li toto chování změnit, nastavte UITabBar.Appearance vlastnost:
UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
To způsobí, že vybraná karta bude zelená:

Pomocí tohoto rozhraní API můžete přizpůsobit vzhled iOSu Xamarin.FormsTabbedPage s velmi malým kódem. Další podrobnosti o použití vlastního vykreslovacího modulu k nastavení konkrétního písma karty najdete v receptu na přizpůsobení karet.
Přepínač uživatelského rozhraní
Ovládací Switch prvek je dalším příkladem, který lze snadno stylovat:
UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
Tyto dva snímky obrazovky zobrazují na levé straně výchozí UISwitch ovládací prvek a přizpůsobenou verzi (nastavení Appearance) vpravo:

Další ovládací prvky
Mnoho ovládacích prvků uživatelského rozhraní iOS může mít výchozí barvy a další atributy nastavené pomocí UIAppearance rozhraní API.