Condividi tramite


Specificare il linguaggio dell'interfaccia utente per l'app Mac Catalyst

Un'app Mac Catalyst multipiattaforma .NET (.NET MAUI) può essere eseguita nel linguaggio dell'interfaccia utente iPad o Mac:

  • Il linguaggio dell'interfaccia utente iPad indica a macOS di ridimensionare l'interfaccia utente dell'app in modo che corrisponda all'ambiente di visualizzazione Mac mantenendo l'aspetto simile a iPad.
  • Il linguaggio dell'interfaccia utente Mac non ridimensiona l'interfaccia utente dell'app in modo che corrisponda all'ambiente di visualizzazione Mac. Alcuni controlli modificano le dimensioni e l'aspetto e interagiscono con loro si sentono identici all'interazione con AppKit i controlli. Ad esempio, un oggetto UIButton appare identico a un oggetto NSButton.

Per impostazione predefinita, le app Catalyst mac .NET MAUI usano il linguaggio dell'interfaccia utente di iPad. Se si tratta del comportamento desiderato, assicurarsi che il file Info.plist dell'app specifichi solo 2 come valore della UIDeviceFamily chiave:

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

Potresti scoprire che l'adozione dell'idioma dell'interfaccia utente Mac migliora l'esperienza utente della tua app. A tale scopo, aggiornare il file Info.plist dell'app per specificare 6 come valore della UIDeviceFamily chiave:

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

Importante

Il linguaggio dell'interfaccia utente Mac richiede macOS 11.0+. Pertanto, per usarlo è necessario impostare nel SupportedOSPlatformVersion file di progetto almeno 14.0, che è l'equivalente della versione di Mac Catalyst di macOS 11.0.

L'adozione del linguaggio dell'interfaccia utente Mac potrebbe richiedere di apportare altre modifiche all'app. Ad esempio, se l'app usa immagini ridimensionate per iPad o ha dimensioni hardcoded, potrebbe essere necessario aggiornare l'app per adattarla alle differenze di dimensioni.

Avviso

UIStepper, UIPickerViewe UIRefreshControl non sono supportati nel linguaggio dell'interfaccia utente Mac di Apple. Ciò significa che i controlli MAUI .NET che utilizzano questi controlli nativi (StepperPickere RefreshView) non possono essere usati nel linguaggio dell'interfaccia utente Mac. Se si tenta di eseguire questa operazione, verrà generata un'eccezione macOS.

Inoltre, i vincoli seguenti si applicano nel linguaggio dell'interfaccia utente Mac:

Determinare il linguaggio dell'interfaccia utente

È possibile determinare in fase di esecuzione quale idioma dell'interfaccia utente usa l'app Catalyst Mac MAUI .NET. A tale scopo, è possibile esaminare il valore della proprietà in UserInterfaceIdiom 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

Vedi anche