개발관련/other

UIViewController의 뷰가 보이는지 확인하는 방법

Rateye 2021. 12. 7. 10:10
728x90
반응형
질문 : UIViewController의 뷰가 보이는지 확인하는 방법

보기가 많은 탭 모음 응용 프로그램이 있습니다. UIViewController UIViewController 내에서 표시되는지 알 수있는 방법이 있습니까? (속성을 찾는 중)

답변

보기가 현재 표시되어 있으면보기의 창 속성 이 nil이 아니므로보기 컨트롤러에서 기본보기를 확인합니다.

view 메소드를 호출하면보기가로드되지 않으며 (로드되지 않은 경우) 불필요하고 바람직하지 않을 수 있습니다. 이미로드되어 있는지 먼저 확인하는 것이 좋습니다. 이 문제를 피하기 위해 isViewLoaded에 대한 호출을 추가했습니다.

if (viewController.isViewLoaded && viewController.view.window) {
    // viewController is visible
}

iOS9 이후로 더 쉬워졌습니다.

if viewController.viewIfLoaded?.window != nil {
    // viewController is visible
}

또는 뷰 컨트롤러를 관리하는 UINavigationController가있는 경우에는 visibleViewController 속성을 대신 확인할 수 있습니다.

출처 : https://stackoverflow.com/questions/2777438/how-to-tell-if-uiviewcontrollers-view-is-visible
728x90
반응형