日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

swift - 根试图控制器的手势返回冲突 - push 新的tabbar控制器手势冲突

發布時間:2023/12/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 swift - 根试图控制器的手势返回冲突 - push 新的tabbar控制器手势冲突 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 禁用手勢 和開啟手勢extension JYRTSShopListController: UIGestureRecognizerDelegate {/// 禁止使用手勢返回func forbidhenSideBack() {self.isCanSideBack = falseif (self.navigationController?.responds(to:#selector(getter: self.navigationController?.interactivePopGestureRecognizer))) == true {self.navigationController?.interactivePopGestureRecognizer?.delegate = self}}/// 恢復手勢返回func resetSideBack() {self.isCanSideBack = trueif (self.navigationController?.responds(to:#selector(getter: self.navigationController?.interactivePopGestureRecognizer))) == true {self.navigationController?.interactivePopGestureRecognizer?.delegate = nil}}func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {return self.isCanSideBack} }

  

2. 在 導航控制器的根控制器 禁用手勢, 如果是其他控制器push過來, 本控制器消失的時候打開,本控制器出現的時候禁用override func viewWillAppear(_ animated: Bool) {super.viewWillAppear(animated)self.forbidhenSideBack()}override func viewWillDisappear(_ animated: Bool) {super.viewWillDisappear(animated)self.resetSideBack()}

  

3. 如果多個 導航控制器 push過去, 需要 在每個導航控制的 根控制都寫上上面的方法, 不然會出現手勢沖突例如A導航 push B導航,但是B沒辦法通過手勢返回A A導航push C的tabbar的 導航B1和導航B2, 需要在B1和B2的home控制器寫上禁用方法

  

?

4. 如果首頁手勢不禁用, 還會出現一個嚴重BUG, 在首頁,側滑返回,造成界面被卡主, 無法進行任何交互,

  

轉載于:https://www.cnblogs.com/qingzZ/p/9929426.html

總結

以上是生活随笔為你收集整理的swift - 根试图控制器的手势返回冲突 - push 新的tabbar控制器手势冲突的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。