탐색보기 계층 구조의 컨텍스트에서보기를 전환 중입니다. 전환 시점에 이전보기가 새보기에서 푸시되고있는 것을 판별 할 수 있기를 원합니다.UINavigationControllers의 이전 visibleViewController를 확인하는 방법은 무엇입니까?
나는 UINavigationControllerDelegate이 노력하고있어 :
2009-08-05 20 : 05 : 21.274 앱 이름 [85913 : 20B] 에서 전환
(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { NSLog(@"Switching from %@ to %@", NSStringFromClass([[navigationController visibleViewController] class]), NSStringFromClass([viewController class]) ); }
을 나는이 얻을 ManagementScreen to ManagementScreen
불행히도 "will"이 호출되기 전에 유감스럽게도 "will"이 호출되기 전에 UINavigat 상태로 이미 스왑 아웃되어있는 것처럼 보입니다 같은 viewController 전달 된 ionController UINavigationController (및 또한 topViewController 속성, 여기 보여지지 않습니다 있지만 동일한 코드를 사용하여 시도한) visibleViewController 항상 동일합니다.
나는 네비게이션 뷰 컨트롤러를 확장하는 것을 피하고 싶습니다. 솔직히 델리게이트에 속성을 쉽게 넣을 수 있습니다. 그러나이 동작이 기존 프레임 워크 내에서 가능한지 궁금합니다 (전에 호출해야합니다. 무슨 일이 일어 났는지 후에 발생하지만, 네비게이션 컨트롤러의 상태가 어느 것보다 먼저 수정 된 것 같습니다.)
감사합니다.
참고 : NSStringFromClass()를 사용하는 것이 더 간단합니다. –