Compartir a través de


Especificación el tipo de interfaz de usuario para su aplicación de Mac Catalyst

Una aplicación de interfaz de usuario de aplicaciones multiplataforma de .NET (.NET MAUI) de Mac Catalyst se puede ejecutar en el tipo de interfaz de usuario de iPad o Mac:

  • El tipo de interfaz de usuario de iPad indica a macOS que escale la interfaz de usuario de la aplicación para que coincida con el entorno de visualización de Mac, a la vez que se conserva el aspecto del iPad.
  • El tipo de interfaz de usuario de Mac no escala la interfaz de usuario de la aplicación para que coincida con el entorno de visualización de Mac. Algunos controles cambian su tamaño y aspecto, por lo que interactuar con ellos parece idéntico a la interacción con los controles de AppKit. Por ejemplo, un UIButton parece idéntico a un NSButton.

De forma predeterminada, las aplicaciones .NET MAUI de Mac Catalyst usan el tipo de interfaz de usuario de iPad. Si este es el comportamiento que desea, asegúrese de que el archivo Info.plist de la aplicación solo especifica 2 como valor de la clave UIDeviceFamily:

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

Puede que descubra que la adopción del tipo de interfaz de usuario de Mac mejora la experiencia del usuario de su aplicación. Para hacerlo, actualizar el archivo Info.plist de su aplicación y especificar 6 como el valor de la clave UIDeviceFamily:

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

Importante

El tipo de interfaz de usuario de Mac requiere macOS 11.0 o versiones posteriores. Por lo tanto, para usarlo, deberá establecer la SupportedOSPlatformVersion en el archivo del proyecto a al menos 14.0, que es la versión de Mac Catalyst equivalente a macOS 11.0.

La adopción de un tipo de interfaz de usuario de Mac puede requerir que realice cambios adicionales en su aplicación. Por ejemplo, si la aplicación usa imágenes con tamaño adaptado para iPad o tiene tamaños codificados de forma rígida, puede que deba actualizar la aplicación para adaptarse a las diferencias de tamaño.

Advertencia

UIStepperApple no admite , UIPickerViewni UIRefreshControl en la expresión de interfaz de usuario de Mac. Esto significa que los controles MAUI de .NET que consumen estos controles nativos (Steppery Picker RefreshView) no se pueden usar en la expresión de la interfaz de usuario de Mac. Si intenta hacerlo, se producirá una excepción de macOS.

Además, se aplican las restricciones siguientes en la expresión de interfaz de usuario de Mac:

Determinación del tipo de interfaz de usuario

Es posible determinar en el tiempo de ejecución qué tipo de interfaz de usuario usa su aplicación .NET MAUI de Mac Catalyst. Esto se puede lograr al examinar el valor de la propiedad UserInterfaceIdiom en su 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

Consulte también