【问题标题】:Are there any methods to let me know when a navigation push is complete?有什么方法可以让我知道导航推送何时完成?
【发布时间】:2014-01-29 18:15:01
【问题描述】:

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

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

在意外状态下完成导航转换。导航栏子视图树可能已损坏。

这很糟糕!

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

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

谢谢 J

【问题讨论】:

  • 如果你能发布你的代码,你会更容易理解你的问题是什么。

标签: ios uinavigationcontroller master-detail


【解决方案1】:

我认为您的子类视图控制器中UIViewControllerviewDidAppear: 方法足以表明您的推送已完成。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 但我必须承认,您的解决方案也很好(我想这最终取决于开发人员是否知道将导航控制器委托设置为哪个对象)。为你 +1 乔治。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多