objective-c – 确定第一次出现UIViewController


resorting to custom flags之前,我想和你们一起检查一下.

是否有一种内置的方法来确定viewWillAppear:或viewWillDisappear:UIViewController是否“新推”到UINavigationController的堆栈上,或导航控制器是否已关闭另一个视图,揭示了这个?我想在第一次出现视图时执行一些一次性代码.因为需要设置self.bounds属性,所以viewDidLoad:方法不是正确的位置.

我希望得到一些我正在使用的结果determine something similar on viewWillDisappear:,但在第一个viewWillAppear:索引已经设置为1:

[self.navigationController.viewControllers indexOfObject:self]

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

最佳答案 我处理这个的方式如下…有一个标志,最初设置为false,当你将子视图控制器推到导航控制器上时,将此标志设置为true,如果标志为false则不在viewDidAppear上,那么它是如果为true则初始加载然后从弹出导航堆栈的子控制器返回.

点赞