2

我有以下 UI 元素(粗体标签):

根:
----------------------
UITabBarController (一)
----------------------
  |
----------------------------------------------
带有 UITableView 子视图的 UIViewController (B)
----------------------------------------------
  |
-------------------------- ---------
UITableViewController (C) --> UIViewController (D)
-------------------------- ---------

A在其第一个选项卡中包含B。单击B中的 UITableViewCell 时,我使用 pushViewControllerAnimated 来显示C,这很像下钻详细信息视图。最后,当单击C中的 UITableViewCell 时,我正在使用 presentViewControllerAnimatedCompletion在弹出模式视图中显示D 。

旁注:在AD上有一个 UINavigationController 。

当点击D上的关闭按钮时,它会通过以下方式关闭模式:

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

这成功地解除了模态,但它也从C一直退回到B。我想留在C。

有任何想法吗?

4

1 回答 1

-3

我想你应该打电话给:

[self dismissViewControllerAnimated:YES completion:nil];

试试。我的猜测是基于 Apple 的文档:

呈现视图控制器负责关闭它呈现的视图控制器。如果您在呈现的视图控制器本身上调用此方法,它会自动将消息转发到呈现的视图控制器。

因此,如果您在self.presentingViewController. 然后B会解雇!

于 2013-06-11T02:16:37.290 回答