Udostępnij za pośrednictwem


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:

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ż