Partager via


Spécifier l’idiome de l’interface utilisateur pour votre application Mac Catalyst

Une application Mobile Catalyst .NET multiplateforme (.NET MAUI) peut s’exécuter dans l’idiome de l’interface utilisateur iPad ou Mac :

  • L’idiome de l’interface utilisateur iPad indique à macOS de mettre à l’échelle l’interface utilisateur de l’application pour qu’elle corresponde à l’environnement d’affichage mac tout en préservant l’apparence iPad.
  • L’idiome de l’interface utilisateur Mac ne met pas à l’échelle l’interface utilisateur de l’application pour qu’elle corresponde à l’environnement d’affichage Mac. Certains contrôles modifient leur taille et leur apparence et interagissent avec eux se sentent identiques à l’interaction avec AppKit les contrôles. Par exemple, un élément UIButton apparaît identique à un NSButton.

Par défaut, les applications .NET MAUI Mac Catalyst utilisent l’idiome de l’interface utilisateur iPad. S’il s’agit de votre comportement souhaité, vérifiez que le fichier Info.plist de l’application spécifie uniquement 2 comme valeur de la UIDeviceFamily clé :

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

Vous pouvez découvrir que l’adoption de l’interface utilisateur Mac améliore l’expérience utilisateur de votre application. Pour ce faire, mettez à jour le fichier Info.plist de votre application pour spécifier 6 comme valeur de la UIDeviceFamily clé :

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

Important

L’idiome de l’interface utilisateur Mac nécessite macOS 11.0+. Par conséquent, pour l’utiliser, vous devez définir le SupportedOSPlatformVersion fichier de votre projet sur au moins 14.0, qui est l’équivalent de mac Catalyst version de macOS 11.0.

L’adoption de l’idiome de l’interface utilisateur Mac peut vous obliger à apporter des modifications supplémentaires à votre application. Par exemple, si votre application utilise des images dimensionnées pour iPad ou qu’elle a des tailles codées en dur, vous devrez peut-être mettre à jour votre application pour tenir compte des différences de taille.

Avertissement

UIStepper, UIPickerViewet UIRefreshControl ne sont pas pris en charge dans l’idiome de l’interface utilisateur Mac par Apple. Cela signifie que les contrôles MAUI .NET qui consomment ces contrôles natifs (StepperPickeret RefreshView) ne peuvent pas être utilisés dans l’idiome de l’interface utilisateur Mac. Si vous tentez de le faire, une exception macOS est levée.

En outre, les contraintes suivantes s’appliquent dans l’idiome de l’interface utilisateur Mac :

Déterminer l’idiome de l’interface utilisateur

Il est possible de déterminer au moment de l’exécution quelle interface utilisateur idiome votre application .NET MAUI Mac Catalyst utilise. Pour ce faire, examinez la valeur de la UserInterfaceIdiom propriété sur votre 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

Voir aussi