我希望你一切都好!我正在使用Xcode FOR iOS 9开发Swift 2应用程序!我希望整个应用程序可以双向旋转,除了一个特定的视图控制器,我希望即使用户旋转也能锁定为纵向。我试了几个小时,在网上找了很多,都没有效果。有帮助吗?更新:我尝试了以下两种方法,但它不适用于iOS 9:(请帮助贝斯特
5us2dqdw1#
目标C:
NSNumber *orientationValue = [NSNumber numberWithInt:UIInterfaceOrientationPortrait]; [[UIDevice currentDevice] setValue:orientationValue forKey:@"orientation"];
斯威夫特:
let orientationValue = UIInterfaceOrientation.Portrait.rawValue UIDevice.currentDevice().setValue(orientationValue, forKey: "orientation")
kuhbmx9i2#
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { return UIInterfaceOrientationMask.Portrait }
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 } }
9lowa7mx4#
除了Manuel的回应外,在viewDidLoad()中添加以下内容
viewDidLoad()
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
这将初始化纵向ViewController,无论设备方向如何。
4条答案
按热度按时间5us2dqdw1#
目标C:
斯威夫特:
kuhbmx9i2#
jum4pzuy3#
请尝试以下操作:
9lowa7mx4#
除了Manuel的回应外,在
viewDidLoad()
中添加以下内容这将初始化纵向ViewController,无论设备方向如何。