[英]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.