我怎么能允许我在iOS 8.3 SDK上使用Swift编写的通用应用程序仅支持iPhone上的纵向模式,而是支持iPad上的纵向和横向模式?
我知道在过去这已经在AppDelegate中完成了.我怎么能在Swift中这样做?
你可以通过编程方式完成
override func shouldAutoRotate() -> Bool {
if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
return true
}
else {
return false
}
}
Run Code Online (Sandbox Code Playgroud)
然后
override func supportedInterfaceOrientations() -> Int {
return UIInterfaceOrientation.Portrait.rawValue
}
Run Code Online (Sandbox Code Playgroud)
或您希望默认拥有的任何其他旋转方向.
这应该检测您使用的设备是否是iPad并且仅允许在该设备上旋转.
编辑:因为你只想在iPhone上画像,
override func supportedInterfaceOrientations() -> Int {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return UIInterfaceOrientation.Portrait.rawValue
}
else {
return Int(UIInterfaceOrientationMask.All.rawValue)
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定 Chris 的答案是否仅通过复制和粘贴“支持的界面方向(iPad)”键即可;可能不是从info.plist. 实现不同方向的支撑。您可以打开info.plistXML 源并进行如下编辑:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
Run Code Online (Sandbox Code Playgroud)
xcode UI 有一个简单的方法。转到您的项目设置。在“常规”选项卡中选择您的目标,然后在“部署信息”部分中,您可以首先选择 iphone/ipad 并分别标记您希望为每个设备支持的设备方向,然后将设备更改为“通用”。它将在引擎盖下生成上述 xml。

此处的“通用”选项显示了 iPhone 和 iPad 之间常见的选项。
| 归档时间: |
|
| 查看次数: |
9156 次 |
| 最近记录: |