场景:VC1 中用 present 方式打开 VC2
问题:判断这个 VC1 是因为关闭 VC2 还是因为 VC1 被别的 VC 打开,才调用的 viewWillAppear。VC1 要重复使用,因此不能用判断 viewWillAppear 是否是第一次调用的方法解决。
方案:使用 presentedViewController 来判断是否与 VC2 有关。presentedViewController 表示被自己 present 打开的 VC。
注意:在 viewWillAppear 与 viewWillDisappear 中,presentedViewController 引用还指向正在消失的或者正在打开的 VC2。
if presentedViewController != nil {
return
}
网友评论