2010-07-19 182 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再次被調用。泡沫,沖洗,重複。