uiwebview完成其负载后的pushviewcontroller

时间:2012-11-16 00:40:04

标签: objective-c ios xcode cocoa-touch

我正在使用viewController从A正确推送navigationController B。但是,我希望uiwebview viewController 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]; 完成其加载而不是立即加载。我首先尝试初始化B并在加载结束时按A但没有成功,则不会查看控制器。怎么做到呢?谢谢。

来自controllerA,

viewDidLoad

然后,controllerB被初始化,webviewDidFinishLoad被触发,当- (void)webViewDidFinishLoad:(UIWebView*)theWebView { AViewController *theInstance = [[AViewController alloc] init]; [theInstance pushBcontroller]; } 时,B必须立即被推或在前面被查看。

AViewController

on -(void)pushBcontroller{ [[self navigationController] pushViewController:self.controllerB animated:NO]; }

{{1}}

不工作......

1 个答案:

答案 0 :(得分:0)

AViewController *theInstance = [[AViewController alloc] init];行创建AViewController实例。由于它是 new ,因此它不是视图控制器层次结构的一部分,因此未连接到导航控制器。

BViewController提供前一个控制器的引用并使用它而不是创建另一个控制器。或者,或许更好的是,在加载完成时发送通知原始AViewController用来知道何时更改显示。