0

我已经在 a 中UITableViewController调用了 EditPoint,UINavigationController它出现在 a 中UIPopoverController

有时 EditPoint 是根 UITableview,有时另一个UITableviewContoller推送 EditPoint。

有没有一种方法可以让我在 EditPoint TableViewController 中判断是另一个人将它推入视图还是它的根目录?

我推 EditPoint:

[self.navigationController pushViewController:tableView animated:TRUE];

然后在 EditPoint 我试过:

DLog(@"self.navigationController.presentingViewController: %@", self.navigationController.presentingViewController);
DLog(@"self.navigationController.presentedViewController: %@", self.navigationController.presentedViewController);

DLog(@"self.presentingViewController: %@", self.presentingViewController);
DLog(@"self.presentedViewController: %@", self.presentedViewController);

他们都返回NULL。

但如果我尝试:

[self.navigationController popToRootViewControllerAnimated:TRUE];

或任何其他流行方法,它都有效。

知道为什么我不知道presentingViewController是什么吗?

最终结果是我需要判断是否有后退按钮,或者是否需要在此处放置一个显示取消的按钮。有没有更好的方法来解决这个问题?

4

1 回答 1

0

使用self.navigationController.viewControllers检查 self 是否是其导航控制器堆栈中的根视图控制器,当控制器显示为模态时,应使用您正在使用的属性。

于 2013-11-06T15:38:26.693 回答