Sdílet prostřednictvím


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:

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é