我想改變一個splitViewController中的詳細視圖,我有UIViewControllerHierarchyInconsistency異常,當我做 self.detailView.view = view.view; 我控制瞭如果xib文件中有其他viewControllers,我也使用方法removeFromParentViewController,但我有同樣的異常。 錯誤僅在iOS 6中,但在iOS 5中不在iPad模擬器中。UIViewControllerHierarchyInconsistency查看控制器異常
回答
終止應用程序,由於未捕獲的異常'UIViewControllerHierarchyInconsistency',原因:'一個視圖最多隻能與一個視圖控制器關聯!這是錯誤,view.view是我想要在splitViewController中加載的視圖,沒有其他代碼,我只做了拆分視圖的更改,我使用removefromparentviewcontroller,因爲我想將關聯刪除到viewController刪除異常
您的splitViewController是UISplitViewController的一個實例嗎? http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewController_class/Reference/Reference.html
如果是這樣,你正在做一些根本性的錯誤。 UISplitViewController只是兩個視圖控制器,一個主視圖控制器和一個詳細視圖控制器的容器。然後由您的視圖控制器決定如何處理交互等。 removeFromParentViewController僅用於View Controller Containment,因此在這裏似乎不適用。
閱讀上面鏈接中的文檔,看看它是否符合您的需求,但是如果我理解,您需要在分割視圖中設置您的視圖控制器,而不是您的視圖。
要你,你需要做的:
// Assume this is initialised correctly
UISplitViewController* splitViewController = [UISplitViewController alloc] init...];
// Assign the two view controller you want to be used in the split view controller
splitViewController.viewControllers = @[masterViewController, detailViewController];
如果不適用,則請提供您的代碼,以便正確的解決方案可以進行。你的描述對於你實際在做什麼而言很模糊。
是的,這是我所做的,我直接改變了viewControllers ... – user1575803
- 1. 查看顯示控制器異常 - MVC
- 2. MonoTouch的UIViewControllerHierarchyInconsistency異常
- 3. performSelector拋出UIViewControllerHierarchyInconsistency異常
- 4. 當呈現視圖控制器時UIViewControllerHierarchyInconsistency
- 5. 查看控制器容器
- 6. UIViewControllerHierarchyInconsistency當顯示UIAlertController時出現異常
- 7. .NET MVC控制器異常
- 8. 異常在mvc.net控制器
- 9. 控制器創建異常
- 10. MVC3查看控制器
- 11. propertyBinding控制器 - 查看
- 12. 辭退查看控制器
- 13. UIPickerView查看控制器
- 14. 顯示從控制器類到查看頁面的異常消息
- 15. Android的PDF查看器,FileNotFoundException異常
- 16. 從另一個視圖控制器的內存中查看/查看控制器
- 17. 如何從控制器傳遞參數來查看,查看控制器?
- 18. .NET中差異查看器控件
- 19. 查看控制器遏制Z位置
- 20. 強制控制器查看內存
- 21. 控制流異常
- 22. CountDown計時器查看控制器
- 23. 查找控制返回Null異常
- 24. andriod Inflater /查看異常
- 25. Zend Framework控制器中的異常
- 26. 動作控制器異常錯誤
- 27. Grails控制器中的異常處理
- 28. Rspec3:發送異常控制器
- 29. 如何記錄ZF2控制器異常
- 30. 如何捕捉laravel控制器異常
你能否提供一些代碼來給出正在發生的情況?比如view.view來自哪裏,使用removeFromParentViewController,以及從控制檯吐出確切的錯誤。 – WDUK
終止應用程序由於未捕獲的異常'UIViewControllerHierarchyInconsistency',原因:'視圖一次只能與最多一個視圖控制器關聯!這是錯誤,view.view是我想要在splitViewController中加載的視圖,沒有其他代碼,我只做了拆分視圖的更改,我使用removefromparentviewcontroller,因爲我想將關聯刪除到viewController刪除異常 – user1575803