iOS禁用侧滑返回手势要点解析 iOS禁用侧滑返回手势是一种常见的需求,特别是在某些页面需要自定义返回按钮时。禁用侧滑返回手势可以防止用户不走判断的代码直接返回上个界面,导致程序出错。下面我们将详细解析两种禁用侧滑返回手势的方法。 方法一:禁用和激活侧滑手势 在B页面的生命周期中,我们可以通过设置`interactivePopGestureRecognizer`的enabled属性来禁用和激活侧滑手势。具体来说,我们需要在`viewDidAppear`中禁用侧滑手势,防止用户在B页面时可以侧滑返回。同时,在`viewWillDisappear`中,我们需要激活侧滑手势,以便在其他页面可以正常侧滑返回。 需要注意的是,我们不能在`viewWillAppear`中禁用侧滑手势,因为这会导致B->C之后,在C界面侧滑返回时,APP会进入假死状态。这是因为B界面将要出现时,我们禁用了侧滑手势,导致C侧滑失败,界面卡住。所以,我们需要在B界面出现之后,再禁用侧滑手势。 方法二:设置侧滑交互代理 在B页面的生命周期中,我们也可以通过设置`UIGestureRecognizerDelegate`来禁用侧滑返回手势。具体来说,我们需要在`viewDidLoad`中设置`restoreInteractivePopGestureDelegate`,并在`viewDidAppear`中将`interactivePopGestureRecognizer`的delegate设置为self。在`viewWillDisappear`中,我们需要将`interactivePopGestureRecognizer`的delegate设置回`restoreInteractivePopGestureDelegate`。 需要注意的是,我们需要在`viewWillDisappear`中激活侧滑手势,而不是`viewDidDisappear`。这是因为导航是共用的,如果不激活就返回了,其他页面也将无法侧滑返回! 禁用侧滑返回手势的原因 禁用侧滑返回手势的原因是我们需要在某些页面自定义返回按钮时,防止用户不走判断的代码直接返回上个界面,导致程序出错。例如,在某些页面,我们需要点击返回按钮时做出某些判断,或者直接pop到根控制器。这时候,我们需要禁用侧滑返回手势,防止用户直接返回上个界面。 结论 禁用侧滑返回手势是iOS开发中的一种常见需求,我们可以通过两种方法来实现:禁用和激活侧滑手势,以及设置侧滑交互代理。需要注意的是,我们需要在B界面出现之后,再禁用侧滑手势,并在`viewWillDisappear`中激活侧滑手势。
- 粉丝: 4
- 资源: 950
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助