当我单击按钮时,将打开一个新的ViewController并调用viewWillAppear
,在其中我更改了navigationBar中的某些内容。
当我回到上一个ViewController时,将调用此ViewController的viewWillAppear
方法,并且还会更改我的navigationBar中的某些内容。
这很好。 但,但在滑动时返回,而从先前的ViewController滑动viewWillAppear
时被调用。当滑动未完成时,如“哦,我决定留在这个viewController上”,由于以前的viewController中的viewWillAppear
被调用了,所以NavigationBar看起来不正确。
我需要检测是否有人进行过刷卡操作,但是没有像真正返回时那样finish
,才能撤消NavigationBar的更改。
这可能吗?
编辑,或者在最佳情况下,当用户也向右滑动时,它将调用已经显示的viewController的viewWillAppear
方法。
我认为当不完成从第二页到第一页的滑动表单时,生命周期将是这样的:
viewWillDisappear Page Two
viewWillAppear Page One
viewWillDisappear Page One
viewDidDisappear Page One
viewWillAppear Page Two
viewDidAppear Page Two
但对我而言,viewWillDisappear
从未在第二页上被调用。第二页也永远不会调用viewWillAppear
。