我正在迁移我的 iOS 应用程序以支持 MacCatalyst,但我想阻止用户调整窗口大小。
你有什么建议吗?
最佳答案
从 Xcode11 Beta 5 开始,UIWindowScene
类开始支持属性 sizeRestrictions
。
如果将 sizeRestrictions.maximumSize
和 sizeRestrictions.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/