2012-08-22 2 views

답변

1

푸시 된 viewController가로드 된 후에 NavigationBar가 그려집니다. 또한, 그 modalViewController는 navigationController의 'stack'에있는 topViewController의 ontop에 앉아 있습니다. 및 UINavigationController의 뒤로 단추 누르기를 검색하려면 현재보기 컨트롤러가 탐색 컨트롤러의보기 컨트롤러 스택에 없는지 확인해야합니다. - (void) viewDidDisappear :(BOOL)이 논리적으로 움직이는 것처럼이 상태를 안전하게 확인할 수 있습니다. 메서드가 호출 될 때까지 뷰 컨트롤러가 스택에서 제거 된 것일 가능성이 높습니다. navigationController.topViewController를 사용하여 전환보기 또는 동일한보기를 감지 할 수 있으며 isKindOfClass를 사용하여 backBarButtonItem을 트리거합니다. 다음은 저에게 적합한 예제입니다.

- (void)viewDidDisappear:(BOOL)animated{ 
if ([self.navigationController.topViewController isKindOfClass:[SDWebImageRootViewController class]]) { 
    NSLog(@"Is kind of"); 
    //condition goes here 
    } 
if (!self.navigationController.topViewController) { 
    NSLog(@"Is kind of topViewController"); 
    //condition goes here 
} 

}

관련 문제