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

fjnneemd  于 2022-11-06  发布在  Swift
关注(0)|答案(4)|浏览(145)

我希望你一切都好!
我正在使用Xcode FOR iOS 9开发Swift 2应用程序!我希望整个应用程序可以双向旋转,除了一个特定的视图控制器,我希望即使用户旋转也能锁定为纵向。我试了几个小时,在网上找了很多,都没有效果。有帮助吗?更新:我尝试了以下两种方法,但它不适用于iOS 9:(请帮助
贝斯特

5us2dqdw

5us2dqdw1#

目标C:

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

斯威夫特:

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

kuhbmx9i2#

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

jum4pzuy3#

请尝试以下操作:

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
    }
 }
9lowa7mx

9lowa7mx4#

除了Manuel的回应外,在viewDidLoad()中添加以下内容

UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")

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

相关问题