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:
- UISwitch löst eine macOS-Ausnahme aus, wenn der Titel in einer Nicht-Mac-Idiom-Ansicht festgelegt wird.
- UIButton löst eine macOS-Ausnahme aus, wenn AddGestureRecognizer sie aufgerufen wird, oder wenn SetTitle oder SetImage für einen beliebigen Zustand mit Ausnahme
UIControlStateNormal.Normal
aufgerufen wird. - UISlider löst eine macOS-Ausnahme aus, wenn die SetThumbImage, SetMinTrackImage, SetMaxTrackImage Methoden aufgerufen werden und wenn die ThumbTintColor, MinimumTrackTintColor, , MaximumTrackTintColor, , MinValueImageeigenschaften MaxValueImage festgelegt werden.
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
- Auswählen eines Benutzeroberflächen-Idioms für Ihre Mac-App auf developer.apple.com.