问题描述
有许多众所周知的解决方案,用于检测视图控制器何时在向后导航过程中从屏幕上消失,由 UINavigationController
管理(即,当视图控制器从导航堆栈中弹出).换句话说,在源视图控制器中检测到向后导航.
There are a number of well known solutions for detecting when a view controller is in the process of disappearing off the screen in the process of a backwards navigation, managed by a UINavigationController
(i.e. when a view controller is being popped off the navigation stack). In other words detecting a backwards navigation within the source view controller.
相比之下,我需要在 destination 视图控制器的
viewWillAppear
中检测到向后导航.或者换一种说法,检测由于 UINavigationController
pop的结果,何时将显示视图控制器.
In contrast, I need to detect a backwards navigation within viewWillAppear
for the destination view controller. Or to put it another way, detect when a view controller is about to be displayed as a result of a UINavigationController
pop.
最简单/最简单的方法是什么?实现 UINavigationControllerDelegate
并设置一个标志可能是一种方法,但如果可能的话,宁愿避免可变状态.
What is the cleanest/simplest way to achieve this? Implementing UINavigationControllerDelegate
and setting a flag might be one approach, but would rather avoid mutable state if possible.
我没有使用Storyboard来管理这两个屏幕之间的过渡.
I am not using Storyboards to manage the transition between these two screens.
推荐答案
签出UIViewController的此属性:P
Checkout this property of UIViewController :P
isMovingToParentViewController
isMovingFromParentViewController
这篇关于在目标视图控制器viewWillAppear中检测向后/弹出导航的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!