如何将特定视图控制器的方向锁定为纵向模式?

时间:2016-02-08 07:04:11

标签: ios swift swift2

我希望你很好!

我正在使用Xcode FOR iOS 9开发Swift 2应用程序!我希望整个应用程序在两个方向上旋转,期望一个特定的视图控制器,即使用户旋转,我也希望将其锁定为纵向。我试了好几个小时,在网上看了很多,没什么用。有帮助吗?更新:我尝试了下面的两种方法,但它不适用于iOS 9 :(请帮助

最佳, 阿纳斯

4 个答案:

答案 0 :(得分:3)

目标C:

NSNumber *orientationValue = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:orientationValue forKey:@"orientation"];
斯威夫特:

let orientationValue = UIInterfaceOrientation.Portrait.rawValue
UIDevice.currentDevice().setValue(orientationValue, forKey: "orientation")

答案 1 :(得分:2)

    override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.Portrait
}

答案 2 :(得分:2)

试试这个:

 override func shouldAutorotate() -> Bool {
    return onlyPortarit()
 }

 override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.Portrait
 }

 func onlyPortarit() -> Bool{
    if(UIDevice.currentDevice().orientation == UIDeviceOrientation.Portrait ||
        UIDevice.currentDevice().orientation == UIDeviceOrientation.PortraitUpsideDown ||
        UIDevice.currentDevice().orientation == UIDeviceOrientation.Unknown){
            return true
    }else{
        return false
    }
 }

答案 3 :(得分:1)

除了曼努埃尔的回应。在viewDidLoad()

中添加以下内容
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")

无论设备方向如何,这都将以纵向初始化ViewController。