2011-11-19 38 views
2

這可能會非常明顯,但是在這裏。我有兩個ViewController,一個用[+]按鈕顯示一個人的細節,打開另一個ViewController來管理Person的編輯。當要刪除的人員出現警告時,如果選擇了OK,則編輯視圖應該消失,並且DetailView也應該消失/轉換回PersonsListView(未在下面的代碼中顯示)。爲什麼我不能忽略導航堆棧上的上一個視圖?

我可以讓EditView關閉,但是我無法取消DetailView。

任何幫助表示讚賞。

兩個ViewControllers:

@implementation PersonDetailViewController 
... 
- (void)editPerson 
{ 
    PersonDetailEditViewController *editView = [[PersonDetailEditViewController alloc] initWithTenant:self.person]; 
    [editView setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; 

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:editView]; 
    [self presentModalViewController:navController animated:YES];  
} 
... 
@end 

@implementation PersonDetailEditViewController 
... 
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == 1) { 
     [Person deletePerson:self.person]; 
     NSError *error; 
     [self.person.managedObjectContext save:&error]; 
     [[self navigationController] dismissModalViewControllerAnimated:YES]; 
     // *** HERE I ALSO WANT TO DISMISS THE DETAILVIEW *** 
    } 
} 
... 
@end 

回答

1

假設PersonDetailViewController是在導航控制器呈現你應該能夠通過添加以下行做你想做什麼:

[self.navigationController popViewControllerAnimated:YES]; 
相關問題