ios - 我可以禁用 Mac Catalyst iOS 应用程序上的窗口大小调整功能吗

标签 ios macos mac-catalyst uikitformac

我正在迁移我的 iOS 应用程序以支持 MacCatalyst,但我想阻止用户调整窗口大小。

你有什么建议吗?

最佳答案

从 Xcode11 Beta 5 开始,UIWindowScene 类开始支持属性 sizeRestrictions

如果将 sizeRestrictions.maximumSizesizeRestrictions.minimumSize 设置为相同的值,则窗口将无法调整大小。为此,只需在您的 application:didFinishLaunchingWithOptions 方法中调用它(如果您使用的是 UIKit):

    UIApplication.shared.connectedScenes.compactMap { $0 as? UIWindowScene }.forEach { windowScene in
        windowScene.sizeRestrictions?.minimumSize = CGSize(width: 480, height: 640)
        windowScene.sizeRestrictions?.maximumSize = CGSize(width: 480, height: 640)
    }

如果您使用的是 SwiftUI 而不是 UIKit,您实际上应该将它添加到场景委托(delegate)中的 scene(_:willConnectTo:options:)

注意:您需要在 OSX 10.15 Beta 5 或更高版本中运行此程序,否则会崩溃

关于ios - 我可以禁用 Mac Catalyst iOS 应用程序上的窗口大小调整功能吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57013100/

相关文章:

ios - Swift:如何从 UIButton CollectionView 单元调用 json id

ios - 如何在不取消它们的情况下删除 UILocalNotification?

objective-c - 我如何为 Mac OS X 制作可拖动的菜单栏图标

crashlytics - 使用 Crashlytics 构建 Mac Catalytics

swift - pressesBegan 未在 Playground Book 中调用

swift - 如何在 Mac 上的 Mac Catalyst 应用程序中使用钥匙串(keychain)?

ios - 自动布局 : auto update constraints when some view is empty

iOS 应用程序配置文件错误,配置文件未关联

macos - 如何使用 Homebrew 在 macOS Catalina (10.15) 上安装 Valgrind?

javascript - 使用 Javascript 中断 Mac 平滑滚动