UIViewController
多くのビューを持つタブ バー アプリケーションがあります。特定のビューが現在 内から表示されているかどうかを知る方法はありますかUIViewController
? (プロパティを探しています)
ベストアンサー1
ビューウィンドウプロパティビューが現在表示されている場合は nil 以外の値になるため、ビュー コントローラのメイン ビューを確認します。
を呼び出すビューメソッドはビューをロードしますが (ロードされていない場合)、これは不要であり、望ましくない可能性があります。最初に、すでにロードされているかどうかを確認することをお勧めします。この問題を回避するために、isViewLoaded の呼び出しを追加しました。
if (viewController.isViewLoaded && viewController.view.window) {
// viewController is visible
}
iOS9以降は簡単になりました:
if viewController.viewIfLoaded?.window != nil {
// viewController is visible
}
または、ビューコントローラを管理するUINavigationControllerがある場合は、その表示可能なViewController代わりにプロパティを使用します。