是否可以爲當前屏幕啓用/禁用旋轉參數,或者此屬性適用於所有應用程序?禁用當前屏幕的旋轉?
1
A
回答
5
肯定的:
0
如果你有NavigationController內的多個ViewControllers,並希望在他們一個禁用只旋轉,您需要設置和內部控制ApplicationDelegate旋轉。這裏是如何做到這一點的斯威夫特...
在AppDelegate.swift:
class AppDelegate: UIResponder, UIApplicationDelegate {
var blockRotation: Bool = false
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int {
if (self.blockRotation) {
println("supportedInterfaceOrientations - PORTRAIT")
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
} else {
println("supportedInterfaceOrientations - ALL")
return Int(UIInterfaceOrientationMask.All.rawValue)
}
}
在要阻止旋轉視圖控制器,添加UIApplicationDelegate上您的課......
class LoginViewController: UIViewController, UITextFieldDelegate, UIApplicationDelegate {
,然後創建到AppDelegate中的參考...
var appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
在viewDidLoad中,設置appDelegate.blockRotation =真:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
appDelegate.blockRotation = true
}
在viewWillAppear中,設置取向強制器件所選擇的方向(在本例中縱向):
override func viewWillAppear(animated: Bool) {
let value = UIInterfaceOrientation.Portrait.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
}
然後,在viewWillDisappear,或在prepareForSegue,設置appDelegate.blockRotation =假:
override func viewWillDisappear(animated: Bool) {
appDelegate.blockRotation = false
}
這將一個導航CONTRO內的塊在所述一個視圖控制器旋轉包含多個ViewController的ller。希望這可以幫助。
相關問題
- 1. 當屏幕旋轉
- 2. 在Android上禁用屏幕旋轉
- 3. 禁用自動旋轉屏幕 - 安卓
- 4. 如何禁用屏幕旋轉(react-native)?
- 5. 禁用屏幕旋轉在Android如上
- 6. 啓動後禁用屏幕旋轉?
- 7. 在Qt中禁用屏幕旋轉
- 8. Android:屏幕小於x時禁用屏幕旋轉
- 9. 旋轉屏幕
- 10. 屏幕旋轉
- 11. 屏幕旋轉
- 12. 屏幕旋轉
- 13. 屏幕旋轉
- 14. 如何在屏幕旋轉後禁用禁用的按鈕?
- 15. 旋轉屏幕TableLayout
- 16. iPhone - 屏幕旋轉?
- 17. iOS屏幕旋轉
- 18. 如何保持我的當前片段在屏幕上旋轉
- 19. 的Android旋轉器旋轉屏幕
- 20. OnItemSelectedListener調用屏幕旋轉
- 21. 啓用屏幕旋轉android
- 22. 當屏幕旋轉時,佈局改變
- 23. Android屏幕旋轉前180度旋轉以正確定向
- 24. WPF如何在屏幕旋轉時禁用某些元素的旋轉?
- 25. Android的屏幕旋轉
- 26. android中的屏幕旋轉
- 27. iOS中的屏幕旋轉
- 28. 的CollectionView是屏幕旋轉
- 29. 當我旋轉手機時,活動屏幕不旋轉
- 30. 當用戶禁用屏幕自動旋轉時,UIDeviceOrientationDidChangeNotification事件不會觸發
請注意,這隻適用於'ViewController'沒有嵌入到'NavigationController'的情況,它必須以模態方式調用,因爲'NavigationController'負責自動轉換,並且不能將其更改爲只是一個'ViewController' –
@B:我在我的viewController中不使用UINavigationController。 @FreeNickname:這個方法需要插入到他的rootViewController中。 –
@MatteoGobbi,對,對不起。我刪除了我的評論以避免含糊不清。 – FreeNickname