다음을 통해 공유


Mac Catalyst 앱의 UI 관용구 지정

.NET 다중 플랫폼 앱 UI(.NET MAUI) Mac Catalyst 앱은 iPad 또는 Mac 사용자 인터페이스 관용구에서 실행할 수 있습니다.

  • iPad 사용자 인터페이스 관용구는 iPad와 유사한 모양을 유지하면서 Mac 디스플레이 환경과 일치하도록 앱의 사용자 인터페이스 크기를 조정하도록 macOS에 지시합니다.
  • Mac 사용자 인터페이스 관용구는 Mac 표시 환경과 일치하도록 앱의 사용자 인터페이스 크기를 조정하지 않습니다. 일부 컨트롤은 크기와 모양을 변경하며, 컨트롤과 상호 작용하는 것은 컨트롤과 AppKit 상호 작용하는 것과 동일하게 느껴집니다. 예를 들어 .UIButton NSButton

기본적으로 .NET MAUI Mac Catalyst 앱은 iPad 사용자 인터페이스 관용구를 사용합니다. 원하는 동작인 경우 앱의 Info.plist 파일이 키 값 UIDeviceFamily 으로 2만 지정하는지 확인합니다.

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

Mac 사용자 인터페이스 관용구를 채택하면 앱의 사용자 환경이 향상되는 것을 발견할 수 있습니다. 이렇게 하려면 앱의 Info.plist 파일을 업데이트하여 키 값으로 6을 UIDeviceFamily 지정합니다.

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

Important

Mac 사용자 인터페이스 관용구에는 macOS 11.0 이상이 필요합니다. 따라서 이를 사용하려면 프로젝트 파일에서 macOS 11.0에 해당하는 Mac Catalyst 버전인 14.0 이상으로 설정 SupportedOSPlatformVersion 해야 합니다.

Mac 사용자 인터페이스 관용구를 채택하려면 앱을 추가로 변경해야 할 수 있습니다. 예를 들어 앱이 iPad용으로 크기가 조정된 이미지를 사용하거나 하드 코딩된 크기를 사용하는 경우 크기 차이를 수용하도록 앱을 업데이트해야 할 수 있습니다.

Warning

UIStepper, UIPickerViewApple UIRefreshControl 의 Mac 사용자 인터페이스 관용구에서 지원되지 않습니다. 즉, Picker 이러한 네이티브 컨트롤(StepperRefreshView)을 사용하는 .NET MAUI 컨트롤은 Mac 사용자 인터페이스 관용구에서 사용할 수 없습니다. 이렇게 시도하면 macOS 예외가 throw됩니다.

또한 다음 제약 조건은 Mac 사용자 인터페이스 관용구에 적용됩니다.

사용자 인터페이스 관용구 확인

런타임에 .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

참고 항목