Compartilhar via


Especificar o idioma da interface do usuário para seu aplicativo Mac Catalyst

Um aplicativo .NET Multi-platform App UI (.NET MAUI) Mac Catalyst pode ser executado no idioma da interface do usuário do iPad ou Mac:

  • O idioma da interface do usuário do iPad diz ao macOS para dimensionar a interface do usuário do aplicativo para corresponder ao ambiente de exibição do Mac, preservando a aparência semelhante ao do iPad.
  • O idioma da interface do usuário do Mac não dimensiona a interface do usuário do aplicativo para corresponder ao ambiente de exibição do Mac. Alguns controles mudam seu tamanho e aparência, e interagir com eles parece idêntico a interagir com AppKit controles. Por exemplo, um parece idêntico a um UIButton NSButtonarquivo .

Por padrão, os aplicativos .NET MAUI Mac Catalyst usam o idioma da interface do usuário do iPad. Se esse for o comportamento desejado, verifique se o arquivo Info.plist do aplicativo especifica apenas 2 como o valor da UIDeviceFamily chave:

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

Você pode descobrir que adotar o idioma da interface do usuário do Mac melhora a experiência do usuário do seu aplicativo. Para fazer isso, atualize o arquivo Info.plist do aplicativo para especificar 6 como o valor da UIDeviceFamily chave:

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

Importante

O idioma da interface do usuário do Mac requer o macOS 11.0+. Portanto, para usá-lo, você precisará definir o SupportedOSPlatformVersion em seu arquivo de projeto para pelo menos 14.0, que é a versão Mac Catalyst equivalente ao macOS 11.0.

Adotar o idioma da interface do usuário do Mac pode exigir que você faça alterações adicionais em seu aplicativo. Por exemplo, se seu aplicativo usa imagens dimensionadas para iPad ou tem tamanhos codificados, talvez seja necessário atualizá-lo para acomodar as diferenças de tamanho.

Aviso

UIStepper, UIPickerViewe UIRefreshControl não são suportados no idioma da interface do usuário do Mac pela Apple. Isso significa que os controles .NET MAUI que consomem esses controles nativos (Steppere Picker RefreshView) não podem ser usados no idioma da interface do usuário do Mac. Tentar fazer isso lançará uma exceção do macOS.

Além disso, as seguintes restrições se aplicam no idioma da interface do usuário do Mac:

Determinar o idioma da interface do usuário

É possível determinar em tempo de execução qual idioma da interface do usuário seu aplicativo .NET MAUI Mac Catalyst está usando. Isso pode ser alcançado examinando o UserInterfaceIdiom valor do imóvel em seu 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

Confira também