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:
- UISwitch lança uma exceção do macOS quando seu título é definido em uma exibição de idioma que não seja do Mac.
- UIButton lança uma exceção do macOS quando é chamado, ou quando AddGestureRecognizer SetTitle ou SetImage são chamados para qualquer estado, exceto
UIControlStateNormal.Normal
. - UISliderlança uma exceção do macOS quando os SetThumbImagemétodos , , são chamados e quando as ThumbTintColorpropriedades , , , MaximumTrackTintColorSetMinTrackImageMinimumTrackTintColorSetMaxTrackImage , , MaxValueImage MinValueImagesão definidas.
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
- Escolher um idioma da interface do usuário para seu aplicativo Mac no developer.apple.com.