[英]Upside down orientation in iPhone app using Swift
我正在开发一个应用程序,并打算在其中使用颠倒方向。 我使用了以下代码
override func willRotateToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) {
if toInterfaceOrientation == UIInterfaceOrientation.PortraitUpsideDown {
self.shouldAutorotate()
}
}
但是它不起作用。 任何帮助!
尝试将其放在您的plist文件中
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
并在“ 部署”信息的“ 常规”选项卡上验证您的目标是否具有此功能:
另一方面,您使用的是导航控制器还是Tab控制器? 如果是这样,您将需要对导航或选项卡控制器进行子类化,并添加以下两种方法:
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.All
}
设备方向(“常规”标签):
[x]肖像
[x]颠倒
[]风景左
[]景观权
迅捷2
// UINavigationController+UpsideDownOrientation.swift
import UIKit
extension UINavigationController {
public override func shouldAutorotate() -> Bool {
return true
}
public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return [.Portrait, .PortraitUpsideDown]
}
}
将此添加到您的视图控制器代码中。
override func supportedInterfaceOrientations() -> Int{
return Int(UIInterfaceOrientationMask.All.rawValue)
}
将此代码添加到您的Class或ViewController上。
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> Int {
return UIInterfaceOrientation.Portrait.rawValue
}
将这两个功能添加到您要设置方向的视图控制器。 适用于Swift 3.0,因为我现在正在使用它。
在项目的“常规”下,选择要应用程序支持的“设备方向”。 然后转到.plist并编辑要支持的方向的“支持的界面方向(iPad)”。
override var shouldAutorotate: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .landscapeRight // or .landscapeLeft or .portrait or .portraitUpsideDown which ever orientation you want the viewcontroller to be
}
1)检查您的info.plist以获取支持的界面方向,并根据需要进行设置
2)检查您的部署信息并选择您选择的设备方向
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.