Freigeben über


Angeben des UI-Idioms für Ihre Mac Catalyst-App

Eine .NET Multi-Platform App UI (.NET MAUI) Mac Catalyst-App kann im iPad- oder Mac-Benutzeroberflächen-Idiom ausgeführt werden:

  • Das iPad-Benutzeroberflächen-Idiom weist macOS an, die Benutzeroberfläche der App entsprechend der Mac-Anzeigeumgebung zu skalieren und gleichzeitig das iPad-ähnliche Aussehen beizubehalten.
  • Das Mac-Benutzeroberflächen-Idiom skaliert die Benutzeroberfläche der App nicht entsprechend der Mac-Anzeigeumgebung. Einige Steuerelemente ändern ihre Größe und Darstellung, und die Interaktion mit ihnen fühlt sich identisch mit der Interaktion mit AppKit Steuerelementen an. Ein Beispiel ist identisch UIButton mit einem NSButton.

Standardmäßig verwenden .NET MAUI Mac Catalyst-Apps das iPad-Benutzeroberflächen-Idiom. Wenn dies Ihr gewünschtes Verhalten ist, stellen Sie sicher, dass die Info.plist-Datei der App nur 2 als Wert des UIDeviceFamily Schlüssels angibt:

<key>UIDeviceFamily</key>
<array>
  <integer>2</integer>
</array>

Möglicherweise stellen Sie fest, dass die Einführung des Mac-Benutzeroberflächen-Idioms die Benutzererfahrung Ihrer App verbessert. Aktualisieren Sie dazu die Info.plist-Datei Ihrer App so, dass 6 als Wert des UIDeviceFamily Schlüssels angegeben wird:

<key>UIDeviceFamily</key>
<array>
  <integer>6</integer>
</array>

Wichtig

Für die Mac-Benutzeroberflächen-Idiom ist macOS 11.0+ erforderlich. Daher müssen Sie die SupportedOSPlatformVersion Projektdatei auf mindestens 14.0 festlegen, was die Mac Catalyst-Version von macOS 11.0 ist.

Wenn Sie die Mac-Benutzeroberflächen-Idiom übernehmen, müssen Sie möglicherweise zusätzliche Änderungen an Ihrer App vornehmen. Wenn Ihre App beispielsweise Bilder verwendet, die für iPad angepasst sind oder hartcodiert sind, müssen Sie Ihre App möglicherweise aktualisieren, um die Größenunterschiede zu berücksichtigen.

Warnung

UIStepper, UIPickerViewund UIRefreshControl werden in der Mac-Benutzeroberflächen-Idiom von Apple nicht unterstützt. Dies bedeutet, dass die .NET MAUI-Steuerelemente, die diese systemeigenen Steuerelemente verwenden (StepperPickerund RefreshView) nicht in der Mac-Benutzeroberflächen-Idiom verwendet werden können. Wenn Sie versuchen, dies zu tun, wird eine macOS-Ausnahme ausgelöst.

Darüber hinaus gelten die folgenden Einschränkungen im Mac-Benutzeroberflächen-Idiom:

Bestimmen des Benutzeroberflächen-Idioms

Es ist möglich, zur Laufzeit zu ermitteln, welche Benutzeroberflächen-Idiom Ihre .NET MAUI Mac Catalyst-App verwendet. Dies kann erreicht werden, indem sie den Wert der UserInterfaceIdiom Eigenschaft auf Ihrem 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

Siehe auch