[英]Restricting portrait orientation to collectionview in iOS doesn't seem to work
我的应用程序中有多个viewControllers,我想仅将某些视图限制为纵向。 我已经通过覆盖shouldAutoRotate和supportedInterfaceOrientations如下实现
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientation.Portrait.rawValue)
}
我为UICollectionView遵循了相同的方法,但是似乎没有用。 我想知道这是否是实现它的正确方法。 帮助将不胜感激。 提前致谢!
在iOS 8或更高版本中,如果要控制每个视图控制器的允许方向:
确保Info.plist
的“支持的界面方向”允许您希望应用程序能够使用的所有方向。 (或者只是在Xcode UI界面中检查Info.plist
文件的正确“设备方向”)
对于每个视图控制器,实施(示例仅限于肖像):
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { return UIInterfaceOrientationMask.Portrait }
您可能遇到的问题是,如果您的视图控制器嵌入在另一个视图控制器中(例如,UINavigationController或UITabBarController,或两者都嵌入)。
我怀疑这就是您要描述的情况。
如果是这样,则所有涉及的视图控制器都需要实现supportedInterfaceOrientations()
方法。 AFAIK,例如,如果您的视图控制器上方有一个UINavigationController,则需要子类化并使用实现的方法创建自己的导航控制器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.