ios - 有什么方法可以让我知道导航推送何时完成?

标签 ios uinavigationcontroller master-detail

我有一个 tableview 设置为 iPad 的 Master-Detail View ,我遇到了导航损坏的问题。 Master 和 Detail 之间的链接是 Push-Detail 拆分,我需要这种方式,因为用户可以在详细信息中导航,而 master 保持原样。

问题是,如果您过快地点击 Master 端,我会收到导航损坏的消息,例如

Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.



这很糟糕!

我已经设置了一种解决方法,其中使用了延迟,并且 BOOL 必须是肯定的才能继续下一个,这可以解决问题,但它会增加大约 1 秒的延迟,因此有时看起来很糟糕看起来它不起作用,因为未加载新 View 。

导航推送完成时是否会调用任何方法?

谢谢
Ĵ

最佳答案

UINavigationController 为此调用委托(delegate)方法。看看 UINavigationControllerDelegate 协议(protocol)中的 –navigationController:didShowViewController:animated: 方法。

关于ios - 有什么方法可以让我知道导航推送何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21049979/

相关文章:

ios - 即使我将其设置为空白,带有自定义图像的 UIButton 仍显示 titleLabel - Swift iOS

ios - 重置 tabBar.isHidden 在 vi​​ewWillAppear 中不起作用

ios - Xcode6:导航栏与文本字段重叠

ios - UINavigationController 中的 UISearchBar

ios - 像UITableView Design这样具有多个列的可能方法。

ios - 如何将数据从模态 ViewController 传输到父 ViewController?

iOS - 使用 GoogleMaps SDK 时出现 Segue 问题

ios - 返回导航后不需要的键盘

ios - 缺少主从 Controller 的详细信息侧的导航栏

ios - 在主表/明细表上使用不同的 xib 文件查看所选的项目 iOS