【问题标题】:Detect backward/pop navigation in destination view controller viewWillAppear [duplicate]在目标视图控制器 viewWillAppear 中检测向后/弹出导航 [重复]
【发布时间】:2017-11-07 12:15:48
【问题描述】:

有许多众所周知的解决方案可以检测视图控制器在向后导航过程中何时从屏幕上消失,由UINavigationController 管理(即当视图控制器被弹出时)导航堆栈)。换句话说,在源视图控制器中检测向后导航。

相比之下,我需要在viewWillAppear 中为destination 视图控制器检测向后导航。或者换一种说法,检测视图控制器何时由于UINavigationController 弹出而显示。

实现这一目标的最简洁/最简单的方法是什么?实现UINavigationControllerDelegate 并设置标志可能是一种方法,但如果可能的话,宁愿避免可变状态。

我没有使用 Storyboard 来管理这两个屏幕之间的过渡。

【问题讨论】:

  • viewWillAppear: 中检测这些属性isMovingToParentViewControllerisMovingFromParentViewController 可能会有所帮助。
  • 谢谢 - 我可以在 viewWillAppear 中确认这是否有效:if !isMovingToParentViewController { print("backwards") } 如果您再次发布作为答案,我将标记为已接受。

标签: ios uiviewcontroller uinavigationcontroller


【解决方案1】:

检查 UIViewController 的这个属性:P

isMovingToParentViewController

isMovingFromParentViewController

【讨论】:

    猜你喜欢
    • 2019-10-07
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多