这可能会非常明显,但这里是。我有两个 ViewController,一个用 [+] 按钮显示一个人的详细信息,该按钮打开另一个 ViewController,管理该人的编辑。当要删除此人时,会显示一个警报,如果选择确定,则编辑 View 应该消失,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
最佳答案
假设 PersonDetailViewController 出现在导航 Controller 中,您应该能够通过添加以下行来执行您想要的操作:
[self.navigationController popViewControllerAnimated:YES];
关于objective-c - 为什么我不能关闭导航堆栈上的上一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191710/