私のビューコントローラ階層の一番上のナビゲーションコントローラを見つける必要があります。 |>ナビゲーションコントローラとそのトップビューコントローラに同時に提示されたビューコントローラがありますか?
のUIViewController A - 私は、ナビゲーションコントローラであれば確実に把握できなかった、それは、トップビューコントローラが同じでView Controllerを提示していることができますすなわち
NavigationController --Presentedです
|
NavigationController.topViewController --Presented - >のUIViewController B
が、これは同時に可能ですか?私は最後まで両方のパスをトラバースし、どちらが長いかを比較してから正しいパスを選択する必要がありますか?私はナビゲーションコントローラとそのトップビューコントローラに同時に存在するView Controllerをしようとしましたが、私はそのビューウィンドウ階層にないLLDB でこの警告「に提示する試みを取得
を試してみました何
! "
ビューコントローラ(0x100605860)が表示されませんでしたが、これはいつもそうでしょうか?カスタムプレゼンテーションでウィンドウ階層にビューを残すことはできますか?
にこのどこかを使用することができます
スウィフト3. *
スウィフト2
topViewController。 UIViewControllerまたはUITabBarControllerではなく、一番上のUINavigationControllerを見つける必要があります。これはUINavigationControllerクラスに固有です。私の質問は、このコードは、UINavigationController上の階層のどこかに表示されているビューコントローラがある場合でも機能しますか? –
この場合、これは失敗する可能性があります - let present = controller?presentViewController { return topViewController(controller:present) } –
@AamirAnwarこれをチェックしてくださいhttps://stackoverflow.com/questions/33395463/in-uinavigationcontroller-what-トップレベルのコントローラ間の違いは –