本文介绍了在目标视图控制器viewWillAppear中检测向后/弹出导航的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

10-27 14:31