을 사용하여 A에서 viewController
B를 올바르게 푸시합니다. 그러나, 나는 한번 uiwebview
viewController
B에서 부하를 완료하고 즉시 완료하고 싶습니다. 로드 B가 끝나면 성공하지만 컨트롤러가 보이지 않을 때 init B를 먼저 시도하고 A를 시도했습니다. 어떻게 할 수 있습니까? 고맙습니다. controllerA에서 uiwebview가로드를 완료 한 후 pushviewcontroller
self.controllerB = [[BViewController alloc] initWithNibName:@"BViewController" bundle:nil anUser:self.idUser aLang:self.lang];
//[[self navigationController] pushViewController:controllerB animated:NO]; working if pushed directly here
[self.controllerB view];
후, controllerB 초기화
,viewDidLoad
트리거
webviewDidFinishLoad
하고, B는 이제 푸쉬 정면에서 볼되어야한다.
-(void)pushBcontroller{
[[self navigationController] pushViewController:self.controllerB animated:NO];
}
가 작동하지
AViewController
에
- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
AViewController *theInstance = [[AViewController alloc] init];
[theInstance pushBcontroller]; }
, ...
내비게이션 컨트롤러에 AV 컨트롤러가 내장되어 있습니까? pushBcontroller 메소드의 [self navigationController]가 nil이 아님을 확인하십시오. – rdelmar
또한 웹보기의 담당자가 네임드의 'BViewController'로 올바르게 설정되었는지 확인하십시오. 그렇지 않으면'webViewDidFinishLoad'가 절대 호출되지 않습니다. – Xono
@ Xono, webviewDidFinishLoad가 제대로 트리거 된 다음 pushBcontroller 함수가 호출됩니다. 그런 다음 아무 일도 일어나지 않습니다. – Jaume