Określanie idiomu interfejsu użytkownika dla aplikacji Mac Catalyst
Aplikacja Mac Catalyst aplikacji wieloplatformowej platformy .NET (.NET MAUI) może działać w interfejsie użytkownika iPad lub Mac:
- Idiom interfejsu użytkownika tabletu iPad nakazuje systemowi macOS skalowanie interfejsu użytkownika aplikacji w celu dopasowania środowiska wyświetlania komputerów Mac przy jednoczesnym zachowaniu wyglądu przypominającego tablet iPad.
- Idiom interfejsu użytkownika dla komputerów Mac nie skaluje interfejsu użytkownika aplikacji w celu dopasowania go do środowiska wyświetlania komputerów Mac. Niektóre kontrolki zmieniają swój rozmiar i wygląd i współdziałają z nimi tak samo, jak w przypadku interakcji z kontrolkami AppKit . Na przykład obiekt UIButton jest identyczny z elementem NSButton.
Domyślnie aplikacje .NET MAUI Mac Catalyst używają idiomu interfejsu użytkownika tabletu iPad. Jeśli jest to żądane zachowanie, upewnij się, że plik Info.plist aplikacji określa tylko 2 jako wartość UIDeviceFamily
klucza:
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
Może się okazać, że wdrożenie idiomu interfejsu użytkownika dla komputerów Mac zwiększa środowisko użytkownika aplikacji. W tym celu zaktualizuj plik Info.plist aplikacji, aby określić wartość 6 jako wartość UIDeviceFamily
klucza:
<key>UIDeviceFamily</key>
<array>
<integer>6</integer>
</array>
Ważne
Idiom interfejsu użytkownika dla komputerów Mac wymaga systemu macOS 11.0 lub nowszego. W związku z tym, aby używać go, należy ustawić SupportedOSPlatformVersion
element w pliku projektu na co najmniej 14.0, czyli odpowiednik wersji Mac Catalyst systemu macOS 11.0.
Wdrożenie interfejsu użytkownika dla komputerów Mac może wymagać wprowadzenia dodatkowych zmian w aplikacji. Jeśli na przykład aplikacja używa obrazów o rozmiarze dla tabletu iPad lub ma zakodowane na twardo rozmiary, może być konieczne zaktualizowanie aplikacji, aby uwzględnić różnice rozmiaru.
Ostrzeżenie
UIStepper, UIPickerViewi UIRefreshControl nie są obsługiwane w idiom interfejsu użytkownika dla komputerów Mac przez firmę Apple. Oznacza to, że kontrolki MAUI platformy .NET, które używają tych natywnych kontrolek (StepperPickeri RefreshView), nie mogą być używane w idiomie interfejsu użytkownika dla komputerów Mac. Próba wykonania tej czynności spowoduje zgłoszenie wyjątku systemu macOS.
Ponadto w idiomie interfejsu użytkownika dla komputerów Mac obowiązują następujące ograniczenia:
- UISwitch zgłasza wyjątek systemu macOS, gdy tytuł jest ustawiony w widoku idiom innych niż Mac.
- UIButtonzgłasza wyjątek systemu macOS, gdy AddGestureRecognizer jest wywoływany, lub gdy SetImage SetTitle jest wywoływany dla dowolnego stanu z wyjątkiem
UIControlStateNormal.Normal
. - UISlider zgłasza wyjątek systemu macOS, gdy SetThumbImagemetody , SetMinTrackImage, SetMaxTrackImage są wywoływane i gdy ThumbTintColorwłaściwości , MinimumTrackTintColor, MaximumTrackTintColor, MinValueImage, są MaxValueImage ustawione.
Określanie idiomu interfejsu użytkownika
Istnieje możliwość określenia w czasie wykonywania, którego interfejsu użytkownika używa aplikacja .NET MAUI Mac Catalyst. Można to osiągnąć, sprawdzając wartość UserInterfaceIdiom właściwości w obiekcie 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
Zobacz też
- Wybieranie interfejsu użytkownika idiom dla aplikacji dla komputerów Mac w developer.apple.com.