立即从一个视图控制器开始新的UIViewController



当UIViewController启动时,我想立即启动另一个UIViewController。这行不通:

-(void) awakeFromNib {
    UIViewController *newcontroller = [[[UIViewController alloc] init] autorelease];
    ...
    [self presentModalViewController:newcontroller animated:YES];
}

为了让这个工作,我必须为一个方法做afterDelay,像这样:

-(void) awakeFromNib {
    [self performSelector:@selector(startNewController) withObject:nil afterDelay:0.5];
    [super init];
}
-(void) startNewController {
    UIViewController *newcontroller = [[[UIViewController alloc] init] autorelease];
    ...
}

有可能让它立即工作吗?

在你的viewDidAppear方法中调用startNewController,这是因为当你试图呈现模态viewController时,你的viewController没有完全加载,所以这就是为什么它在你等待时工作。

实际上,您不应该计划强迫您执行此类实现的应用程序体系结构。尽管如此,我能理解有些时候你没有出路。

我想说:对于这种情况,最好的解决方案是从

调用控制器。
viewDidAppear

那些有点

相关内容

  • 没有找到相关文章

最新更新