我需要找到我的視圖控制器層次結構中最頂級的導航控制器。我想不出是肯定的,如果導航控制器和它的頂視圖控制器可以同時已經提出了視圖控制器,即導航控制器及其頂部視圖控制器是否可以同時顯示視圖控制器?
NavigationController --Presented - > UIViewController的一個
|
|
NavigationController.topViewController --Presented - > UIViewController中乙
同時這可能嗎?因爲在我將不得不遍歷兩個路徑到最後,比較哪個更長,然後選擇正確的路徑?
我試過
我嘗試了導航控制器和它的頂視圖控制器上同時存在的視圖控制器,但我得到的LLDB此警告 「試圖提出有關誰的觀點是不是在窗口層次!」
它沒有提供視圖控制器(0x100605860),但總是會這樣嗎?自定義演示文稿可以在窗口層次結構中留下視圖嗎?
我用這個策略找到topViewController。我需要找到最頂級的UINavigationController,而不是UIViewController或UITabBarController。它是特定於UINavigationController類的。我的問題是,如果在層次結構中的某個UINavigationController上存在視圖控制器,此代碼是否仍然可以工作? –
在這種情況下,這可能會失敗 - 如果let presented = controller?.presentedViewController返回topViewController(controller:呈現) } –
@AamirAnwar檢查此https://stackoverflow.com/questions/33395463/in-uinavigationcontroller-what-是不同之處topviewcontroller-visi –