我的應用程序有一個UINavigationController,它不支持旋轉。不過,我想在導航控制器的頂部顯示一個應該支持旋轉的模式視圖控制器。這可能嗎?我嘗試在視圖控制器上覆蓋shouldAutorotateToInterfaceOrientation
,該視圖控制器以模態方式顯示,但似乎不起作用。只支持模態UIViewController方向
1
A
回答
0
我發現在另一篇文章中回答:UIViewController inside a root ViewController not rotating
的關鍵是
- (void)addChildViewController:(UIViewController *)childController
和
- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
1
我認爲,除了顯示模式地返回YES
視圖控制器的shouldAutorotateToInterfaceOrientation
,你的導航控制器的shouldAutorotateToInterfaceOrientation
應該覆蓋,以返回YES
當模式視圖控制器顯示,和NO
否則。
0
你需要確保你的設備生成設備方位的通知(UIDeviceOrientationDidChangeNotification):
確保:
generatesDeviceOrientationNotifications設置爲true
從Apple文檔:
「的窗口對象執行與改變當前方向有關的許多工作,但是,它與根視圖控制器一起工作來確定方向是否改變應該會發生什麼,如果是的話,還應該調用哪些其他方法來應對變化。如果這個控制器是一個容器,它可能會依賴一個孩子來決定是否應該發生方向。「
所以,如果你的根視圖控制器(UINavigationController?)不支持旋轉,那麼這可能會被設置爲false,當你的應用程序啓動在這種情況下,你需要重新打開它在適當的時候:
UIDevice myDevice = [UIDevice currentDevice];
[myDevice beginGeneratingDeviceOrientationNotifications];
相關問題
- 1. 方向支持
- 2. 支持故事板中UIViewController的縱向模式
- 3. cocos2dX方向支持
- 4. 支持的方向
- 5. 支持方向IOS
- 6. 僅支持縱向方向
- 7. UIViewController方向
- 8. 更改支持的方向
- 9. MVVMCross iOS支持的方向
- 10. iPhone支持Xcode的方向
- 11. ios7不支持橫向方向
- 12. 如何自定義子視圖,只支持橫向模式
- 13. 只支持iPad2
- 14. 如果只支持一個方向,需要Autolayout嗎?
- 15. UIViewcontroller在橫向模式下保持縱向座標
- 16. 支持向量機模型不支持概率估計?
- 17. 「let-」只支持NG-模板元素
- 18. 從UIViewController調用UIViewController方法深深地嵌套在模態中
- 19. 支持方向支持的飛濺活動
- 20. 只支持Javascript如果支持
- 21. 由靜態庫給出的UI不支持設備方向
- 22. Flashvars - 只支持SWF?
- 23. UIImagePickerController僅支持肖像模式。任何支持橫向模式的替代品?
- 24. SpriteKit支持多種設備方向
- 25. 支持的接口方向和shouldAutorotateToInterfaceOrientation
- 26. 如何更改viewController支持的方向?
- 27. 支持向量機預測方法
- 28. iOS 8.3支持的方向崩潰
- 29. 不支持iOS6中的方向
- 30. 檢測設備運動/方向支持?
是否嘗試該[自我presentModalViewController:yourViewController動畫:YES>];這將在您的導航控制器的頂部。現在yourViewController的shouldAutorotateToInterfaceOrientation應該返回YES。 –