确定 UIViewController 第一次出现的时间

epo*_*gee 6 objective-c uiviewcontroller uinavigationcontroller viewwillappear

在诉诸自定义标志之前,我想与你们核实一下。

是否有一种内置方法可以确定UIViewController 是否“新推送”到 UINavigationController 的堆栈上,或者导航控制器是否弹出了另一个视图,从而显示了这个视图viewWillAppear:viewWillDisappear:我想在视图第一次出现时执行一些一次性代码。因为self.bounds需要设置属性,所以viewDidLoad:方法不对的地方。

我希望得到一些结果,我用它来确定类似的东西viewWillDisappear:,但在第一个viewWillAppear:索引已经设置为1:

[self.navigationController.viewControllers indexOfObject:self]
Run Code Online (Sandbox Code Playgroud)

所以这是一个无用的片段。有任何想法吗?

Sim*_*Lee 3

我处理这个问题的方法如下...有一个标志最初设置为 false,当您将子视图控制器推送到导航控制器上时,将此标志设置为 true,如果该标志为 false,则在 viewDidAppear 上没有初始加载如果为 true,那么它将从导航堆栈中弹出的子控制器返回。