2010-07-19 152 views
0

我有下面的代码,我在一个导航控制器内显示视图控制器。 只是为了测试我显示它3秒,然后解雇它。 正在发生的事情是它消失了 - 然后在一秒钟之后重新出现。 我在做什么错?模态视图控制器返回

- (void) test 
{ 
    [myNavCtrl dismissModalViewControllerAnimated:YES]; 
} 

- (void) viewDidAppear:(BOOL)animated 
{ 
    MyViewController *ctrl = [[MyViewController alloc] init]; 
    [ctrl setDelegate:self]; 
    myNavCtrl = [[UINavigationController alloc] initWithRootViewController:ctrl]; 
    [myNavCtrl setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; 
    [self presentModalViewController:myNavCtrl animated:NO]; 
    [ctrl release]; 
    [myNavCtrl release]; 

    [self performSelector:@selector(test) withObject:nil afterDelay:3]; 
} 

回答

1

viewWillAppear方法被调用每次控制器的视图,这样您就已经创建了一个循环。该视图出现,它调用覆盖调用视图的模态视图。当模式视图消失时,调用视图控制器的viewWillAppear再次被调用。泡沫,冲洗,重复。