iOS UIViewController 谁在上面

2019-04-06  本文已影响0人  拾识物者

场景:VC1 中用 present 方式打开 VC2

问题:判断这个 VC1 是因为关闭 VC2 还是因为 VC1 被别的 VC 打开,才调用的 viewWillAppear。VC1 要重复使用,因此不能用判断 viewWillAppear 是否是第一次调用的方法解决。

方案:使用 presentedViewController 来判断是否与 VC2 有关。presentedViewController 表示被自己 present 打开的 VC。

注意:在 viewWillAppear 与 viewWillDisappear 中,presentedViewController 引用还指向正在消失的或者正在打开的 VC2。

if presentedViewController != nil {

    return

}

上一篇 下一篇

猜你喜欢

热点阅读