我创建了一个全新的单视图iOS通用Swift应用程序。然后,我在应用程序设置中取消选中“Landscape Left”和“Landscape Right”。我在我的iPhone上运行它,并且万岁,无论我如何旋转手机,它都保持纵向模式。然后我在我的iPad上运行它,它旋转到任何东西。甚至颠倒的肖像模式,首先没有启用?我是唯一体验过的吗?当我使用命令+箭头键旋转时,这也发生在iPad模拟器中。
我还尝试将以下内容添加到ViewController.swift中,并得到了相同的结果。
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Portrait
}
在iPad上无法实际禁用旋转画面吗?
答案 0 :(得分:63)
它的工作完美。不需要为它编写代码。
首先选择项目,然后进入第一个标签“常规”。
现在选择部署信息部分中的“设备”选项 iPad ,然后选择设备方向 ..其中从横向左,右选项中删除复选标记
完成后选择将设备作为通用设备并将设备方向设置为纵向..模式并从横向模式中删除复选标记。
现在在iPad上运行你的应用并检查一下。我希望它会得到解决。
答案 1 :(得分:18)
Info.plist中有单独的条目,适用于iPhone和iPad支持的方向。
您需要修改Info.plist并删除UISupportedInterfaceOrientations~ip键的横向条目。
答案 2 :(得分:15)
使用Xcode 11
可以使用“部署信息”设置分别设置iPhone方向设置和iPad方向设置。无需更新info.plist的方向。更新部署信息将为您更新info.plist。 (这不直观,可能会被忽略)
然后通过选择仅 iPad选择iPad的部署信息。在此处删除景观选择。
然后,如果需要iPhone和iPad设置,请同时选择它们。即使设置不同,iPhone和iPad也会保留设置(显示了iPhone的方向设置,但保留了iPad的设置)。
答案 3 :(得分:8)
为我工作!
打开 assert_equal read_fixture('textfile').join, email.text_part.body.to_s
作为源代码,您将看到以下属性:
info.plist
:对于iPhone UISupportedInterfaceOrientations
:对于iPad 在UISupportedInterfaceOrientations~ipad
下删除您不需要的定向模式。就我而言,我只需要纵向模式,因此我删除了其余模式,然后保存。
完成!祝你好运
答案 4 :(得分:5)
答案 5 :(得分:5)
由于支持拆分视图,已接受的答案不适用于 iOS 13 及更高版本。
基本上,如果您将 Supported Interface Orientations
设置为 Enable Multiple Windows
,iPad 上的 TRUE
设置将被忽略。这里的基本原理是,如果您允许您的应用程序在拆分视图中工作,那么它可以被压缩到它需要支持的“奇数”维度。所以默认情况下它需要支持任何方向。
这有点不直观,但由于上述原因,您需要在 PLIST 文件中将 Enable Multiple Windows
设置为 FALSE
。
这对于仅限 iPhone 的应用程序来说尤其不直观,因为您不会无理地假设 iPhone 设置会延续到 iPad,当然前提是您没有像此处的其他答案所记录的那样设置单独的 iPad 方向设置。
特别是:
答案 6 :(得分:4)
这些替代过程现在无法正常工作..仅在info.plist中更改ipad的UI支持的界面结构只会暂时解决问题,但会在您进行应用验证和向应用商店提交应用时产生问题..为了成功进行验证和提交,您还必须添加密钥
“ UIRequiresFullScreen”
您必须像这样修改密钥。
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UIRequiresFullScreen</key>
<true/>
我已经测试过了...
答案 7 :(得分:1)
至少在Xcode 10中,对于通用应用程序,此功能已损坏。对于通过检查相关方向仅适用于iPhone来设置方向限制的通用应用,您需要进入plist并在“支持的界面方向(iPad)”下删除不需要的方向,在那里您会找到所有四个方向不管您检查了什么。这只是Xcode中的一个错误,因为它已经存在了一段时间,所以显然没有很高的优先级。
答案 8 :(得分:0)