有许多众所周知的解决方案用于检测视图控制器何时在向后导航过程中从屏幕上消失,由 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
弹出的结果显示.
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 中检测向后/弹出导航的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!