Zadání idiomu uživatelského rozhraní pro aplikaci Mac Catalyst
Aplikace Mac Catalyst pro více platforem .NET (.NET MAUI) může běžet v iPadu nebo Mac uživatelského rozhraní idiom:
- IDiom uživatelského rozhraní iPadu říká macOS, aby škálovat uživatelské rozhraní aplikace tak, aby odpovídalo prostředí zobrazení Mac při zachování vzhledu podobného iPadu.
- Idiom uživatelského rozhraní Systému Mac nenasahuje měřítko uživatelského rozhraní aplikace tak, aby odpovídalo prostředí pro zobrazení macu. Některé ovládací prvky mění jejich velikost a vzhled a interakce s nimi je stejná jako interakce s ovládacími AppKit prvky. Například se zdá, že je shodný UIButton s .NSButton
Ve výchozím nastavení aplikace .NET MAUI Mac Catalyst používají idiom uživatelského rozhraní iPad. Pokud se jedná o požadované chování, ujistěte se, že soubor Info.plist aplikace jako hodnotu UIDeviceFamily
klíče určuje jenom 2:
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
Možná zjistíte, že přijetí idiomu uživatelského rozhraní pro Mac vylepšuje uživatelské prostředí vaší aplikace. Uděláte to tak, že aktualizujete soubor Info.plist vaší aplikace tak, aby jako hodnotu UIDeviceFamily
klíče zadal 6:
<key>UIDeviceFamily</key>
<array>
<integer>6</integer>
</array>
Důležité
Idiom uživatelského rozhraní Mac vyžaduje macOS 11.0+. Proto ho budete muset nastavit SupportedOSPlatformVersion
v souboru projektu na minimálně 14.0, což je verze Mac Catalyst ekvivalentní macOS 11.0.
Přijetí idiomu uživatelského rozhraní Mac může vyžadovat, abyste v aplikaci udělali další změny. Pokud například vaše aplikace používá obrázky s velikostí pro iPad nebo má pevně zakódované velikosti, budete možná muset aplikaci aktualizovat tak, aby vyhovovala rozdílům v velikosti.
Upozorňující
UIStepper, UIPickerViewa UIRefreshControl nejsou podporovány v uživatelském rozhraní Mac idiom společností Apple. To znamená, že ovládací prvky .NET MAUI, Picker které tyto nativní ovládací prvky (StepperaRefreshView) nelze použít v idiom uživatelského rozhraní Mac. Při pokusu o to dojde k výjimce macOS.
Kromě toho platí následující omezení v idiom uživatelského rozhraní Mac:
- UISwitch vyvolá výjimku macOS, pokud je název nastaven v zobrazení bez idiom mac.
- UIButton vyvolá výjimku macOS, pokud AddGestureRecognizer je volána, nebo když SetTitle nebo SetImage jsou volány pro jakýkoli stav s výjimkou
UIControlStateNormal.Normal
. - UISlidervyvolá výjimku macOS, pokud SetThumbImagejsou volány , SetMaxTrackImage SetMinTrackImagemetody a když ThumbTintColorMinimumTrackTintColor, , MaximumTrackTintColor, , MinValueImageMaxValueImage vlastnosti jsou nastaveny.
Určení idiomu uživatelského rozhraní
Je možné určit za běhu, které uživatelské rozhraní idiom aplikace .NET MAUI Mac Catalyst používá. Toho lze dosáhnout prozkoumáním hodnoty UserInterfaceIdiom vlastnosti ve vaší UIViewController:
#if MACCATALYST
UIKit.UIViewController viewController = Platform.GetCurrentUIViewController();
if (viewController.TraitCollection.UserInterfaceIdiom == UIKit.UIUserInterfaceIdiom.Mac)
// Mac user interface idiom
else
// iPad user interface idiom
#endif
Viz také
- Volba idiom uživatelského rozhraní pro aplikaci pro Mac na developer.apple.com.