我已经遵循了谷歌和StackOverFlow上的所有链接,不幸的是,我找不到任何可靠的解决方案专门针对iPad设备。
我使用的示例代码来自Kodeco UISplitViewController。你可以从这里下载源代码并添加一个UIButton。
我添加了一个Button,并添加了一个WindowScene RequestGeometryUpdate函数的代码。
所以,请我需要帮助旋转iPad屏幕时按下按钮.我已经附上错误控制台消息时按下按钮.
您的帮助将不胜感激
@IBAction func btnSelector(_ sender: Any) {
self.rotateToLandsScapeDevice()
}
func rotateToLandsScapeDevice(){
let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
if #available(iOS 16.0, *) {
windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: .landscapeLeft), errorHandler: { error in
print("Error", error)
})
self.setNeedsUpdateOfSupportedInterfaceOrientations()
} else {
// Fallback on earlier versions
UIDevice.current.setValue(UIInterfaceOrientation.landscapeLeft.rawValue, forKey: "orientation")
UIView.setAnimationsEnabled(true)
}
}
字符串
错误控制台消息
Error Domain=UISceneErrorDomain Code=101 "The current windowing mode
does not allow for programmatic changes to interface orientation."
UserInfo={NSLocalizedDescription=The current windowing
mode does not allow for programmatic changes to interface orientation.}
型
2条答案
按热度按时间rryofs0p1#
尝试添加“Supported interface orientations(iPhone)”,并在info.plist文件中将该项目设置为“Portrait(bottom home button)”,就像这样
的数据
vawmfj5a2#
您的代码看起来很好。这里似乎
Upside Down
和Landscape
之间存在冲突。在Info
选项卡中,取消选中iPad方向状态Upside Down
可以解决这个问题。的数据
输出量:
的