Укажите идиом пользовательского интерфейса для приложения Mac Catalyst
Мультиплатформенный пользовательский интерфейс приложения .NET (.NET MAUI) Mac Catalyst может выполняться в пользовательском интерфейсе iPad или Mac:
- Идиом пользовательского интерфейса iPad сообщает macOS масштабировать пользовательский интерфейс приложения, чтобы он соответствовал среде отображения Mac при сохранении внешнего вида iPad.
- Идиом пользовательского интерфейса Mac не масштабируется пользовательский интерфейс приложения, чтобы он соответствовал среде отображения Mac. Некоторые элементы управления изменяют их размер и внешний вид, а взаимодействие с ними чувствует себя идентичным взаимодействию с AppKit элементами управления. Например, отображается UIButton идентичный объекту NSButton.
По умолчанию приложения .NET MAUI Mac Catalyst используют идиом пользовательского интерфейса iPad. Если это нужное поведение, убедитесь, что файл Info.plist приложения указывает только 2 в качестве значения UIDeviceFamily
ключа:
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
Возможно, вы обнаружите, что внедрение идиом пользовательского интерфейса Mac улучшает взаимодействие с пользователем приложения. Для этого обновите файл Info.plist приложения, чтобы указать значение 6 в качестве значения UIDeviceFamily
ключа:
<key>UIDeviceFamily</key>
<array>
<integer>6</integer>
</array>
Важно!
Для пользовательского интерфейса Mac требуется macOS 11.0+. Таким образом, чтобы использовать его, необходимо установить SupportedOSPlatformVersion
в файле проекта по крайней мере 14.0, что является эквивалентом mac Catalyst версии macOS 11.0.
Внедрение идиом пользовательского интерфейса Mac может потребовать внесения дополнительных изменений в приложение. Например, если приложение использует размеры изображений для iPad или имеет жестко закодированные размеры, возможно, потребуется обновить приложение для учета различий по размеру.
Предупреждение
UIStepper, UIPickerViewи UIRefreshControl не поддерживаются в пользовательском интерфейсе Mac от Apple. Это означает, что элементы управления MAUI .NET, использующие эти собственные элементы управления (StepperPickerиRefreshView) нельзя использовать в идиом пользовательского интерфейса Mac. Попытка сделать это приведет к возникновению исключения macOS.
Кроме того, следующие ограничения применяются в идиом пользовательского интерфейса Mac:
- UISwitch создает исключение macOS, если заголовок задан в представлении идиом, отличный от Mac.
- UIButton создает исключение macOS при AddGestureRecognizer вызове или при SetTitleSetImage вызове любого состояния, кроме того
UIControlStateNormal.Normal
. - UISliderсоздает исключение macOS, если SetThumbImageSetMinTrackImageSetMaxTrackImage методы вызываются и когда ThumbTintColorзаданы свойства , , MinValueImageMaxValueImageMinimumTrackTintColorMaximumTrackTintColor
Определение идиома пользовательского интерфейса
В среде выполнения можно определить, какой пользовательский интерфейс идиом использует приложение .NET MAUI Mac Catalyst. Это можно сделать, проверив значение свойства в вашей учетной 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
См. также
- Выбор идиома пользовательского интерфейса для приложения Mac на developer.apple.com.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по