Bagikan melalui


Tentukan idiom UI untuk app Mac Catalyst Anda

Aplikasi Catalyst Mac UI .NET Multi-platform (.NET MAUI) dapat berjalan di idiom antarmuka pengguna iPad atau Mac:

  • idiom antarmuka pengguna iPad memberi tahu macOS untuk menskalakan antarmuka pengguna aplikasi agar sesuai dengan lingkungan layar Mac sambil mempertahankan tampilan seperti iPad.
  • Idiom antarmuka pengguna Mac tidak menskalakan antarmuka pengguna aplikasi agar sesuai dengan lingkungan tampilan Mac. Beberapa kontrol mengubah ukuran dan tampilannya, dan berinteraksi dengan mereka terasa identik dengan berinteraksi dengan AppKit kontrol. Misalnya, tampak UIButton identik dengan NSButton.

Secara default, aplikasi .NET MAUI Mac Catalyst menggunakan idiom antarmuka pengguna iPad. Jika ini adalah perilaku yang Anda inginkan, pastikan bahwa file Info.plist aplikasi hanya menentukan 2 sebagai nilai UIDeviceFamily kunci:

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

Anda mungkin menemukan bahwa mengadopsi idiom antarmuka pengguna Mac meningkatkan pengalaman pengguna aplikasi Anda. Untuk melakukan ini, perbarui file Info.plist aplikasi Anda untuk menentukan 6 sebagai nilai UIDeviceFamily kunci:

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

Penting

Idiom antarmuka pengguna Mac memerlukan macOS 11.0+. Oleh karena itu, untuk menggunakannya, Anda harus mengatur SupportedOSPlatformVersion dalam file proyek Anda ke setidaknya 14.0, yang merupakan versi Mac Catalyst yang setara dengan macOS 11.0.

Mengadopsi idiom antarmuka pengguna Mac mungkin mengharuskan Anda membuat perubahan tambahan pada aplikasi Anda. Misalnya, jika aplikasi Anda menggunakan ukuran gambar untuk iPad atau memiliki ukuran yang dikodekan secara permanen, Anda mungkin perlu memperbarui aplikasi untuk mengakomodasi perbedaan ukuran.

Peringatan

UIStepper, UIPickerView, dan UIRefreshControl tidak didukung di idiom antarmuka pengguna Mac oleh Apple. Ini berarti bahwa kontrol MAUI .NET yang menggunakan kontrol asli ini (Stepper, Picker dan RefreshView) tidak dapat digunakan dalam idiom antarmuka pengguna Mac. Mencoba melakukannya akan melempar pengecualian macOS.

Selain itu, batasan berikut berlaku di idiom antarmuka pengguna Mac:

Menentukan idiom antarmuka pengguna

Dimungkinkan untuk menentukan pada runtime antarmuka pengguna mana yang idiom aplikasi .NET MAUI Mac Catalyst Anda menggunakan. Hal ini dapat dicapai dengan memeriksa nilai UserInterfaceIdiom properti pada :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

Baca juga