我有以下UI元素(粗体标签):
Root: ----------------------- UITabBarController (A) ----------------------- | ---------------------------------------------- UIViewController w/ a UITableView subview (B) ---------------------------------------------- | -------------------------- --------------------- UITableViewController (C) --> UIViewController (D) -------------------------- ---------------------
A 在其第一个标签中包含 B 。在 B 中单击UITableViewCell时,我使用pushViewControllerAnimated来显示 C ,这非常类似于向下钻取详细信息视图。最后,当点击 C 中的UITableViewCell时,我使用presentViewControllerAnimatedCompletion在弹出模式视图中显示 D 。
旁注: A 和 D 上有一个UINavigationController。
点击 D 上的关闭按钮时,它会解除模式:
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
这是成功解雇模式,但它也从 C 一直退回到 B 。我想留在 C 。
有什么想法吗?
答案 0 :(得分:-3)
我想你应该致电:
[self dismissViewControllerAnimated:YES completion:nil];
试一试。我的猜测基于Apple的文档:
呈现视图控制器负责解除视图 它呈现的控制器。如果在显示的视图上调用此方法 控制器本身,它会自动将消息转发给 呈现视图控制器。
因此,如果您在self.presentingViewController
上致电解雇。然后 B 将解雇!