문제

현재 탭 중 하나에 NavigationController가있는 탭 바 컨트롤러가 설정되어 있으며 해당 NavigationControllers View를 위해 UitableView NIB가 설정되어 있습니다. 이 모든 것이 IB를 통해 설정되었으며 그렇게 유지하고 싶습니다. 이 튜토리얼과 비슷합니다 http://twilloapp.blogspot.com/2009/05/how-to-embed-navigation-controller.html이제 ViewDidLoad가 호출되면보기가 완벽하게로드됩니다. 하지만 코드를 통해 추가보기를로드하면 즉

MyApp_AppDelegate *delegate = [[UIApplication sharedApplication] delegate];

UINavigationController *nav = (UINavigationController *)delegate.controller.selectedViewController;

newViewController = [[newViewController alloc] initWithNibName:@"newView" bundle:nil];

[nav pushViewController:newViewController animated:YES];

//At this point the view works! and loads

내비게이션 도구 모음으로 돌아 가려고하면 이전보기로 돌아갑니다. 이제 돌아가서 전화를 걸면 테이블 뷰를 새로 고쳐야합니다. viewDidAppear 작동하지 않습니다.

추가하려고했습니다 UINavigationDelegate 똑같이 ViewController 테이블 뷰로 클래스 한 다음 호출 - (void)navigationController:(UINavigationController *)navigationController didShowViewController:

그러나 그것은 작동하지 않았습니다. 또한 탭 바 컨트롤러와 동일한 대의원을 추가하고 동일하게 추가했습니다. navigationController didShowViewController: 거기서도 실패했습니다.

보기가로드 될 때 마다이 테이블을 새로 고치게하려면 어떻게해야합니까?

도움이 되었습니까?

해결책 2

인터페이스 파일의 대의원 선언이 누락되어 있음을 발견했습니다. 도! 또한 많은 장소에서 NavigationControllers First View (내 테이블보기)에 추가했을 때만 작동했습니다.

다른 팁

전화 할 필요가 없습니다 viewDidAppear 코드에서. 코코아 터치는 당신을 위해 그렇게해야합니다.

테이블 뷰에게 전화하십시오 reloadData 내용을 새로 고치게하는 방법.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top