首页 > 解决方案 > 检测何时停止滑动

问题描述

当我单击一个按钮时,一个新的 ViewController 会打开并被viewWillAppear调用,我在其中更改了导航栏中的一些内容。

当我回到以前的 ViewController 时viewWillAppear,这个 ViewController 的方法被调用并且还改变了我的导航栏中的一些东西。

这工作正常。但是当通过滑动返回时,viewWillAppear从前一个 ViewController 滑动时被调用。当滑动未完成时,如“哦,我决定留在这个 viewController”中,navigationBar 看起来是错误的,因为viewWillAppear之前的 viewController 被调用了。

我需要检测是否有人进行了滑动,但不是finish真的返回,以撤消导航栏的更改。

这可能吗?

编辑或者在最好的情况下,viewWillAppear当用户也滑回右侧时,它会调用已经显示的 viewController 的方法。

我认为当没有完成第二页到第一页的滑动表单时,生命周期会是这样的:

viewWillDisappear Page Two
viewWillAppear Page One
viewWillDisappear Page One
viewDidDisappear Page One
viewWillAppear Page Two
viewDidAppear Page Two 

但对我viewWillDisappear来说,第二页从来没有被召唤过。也viewWillAppear从不要求第二页。

标签: iosobjective-cuiviewcontroller

解决方案


推荐阅读