Commit 65cb67ef authored by Steven杜宇's avatar Steven杜宇

// 手势滑动冲突

parent 6ca49218
...@@ -10,7 +10,7 @@ import UIKit ...@@ -10,7 +10,7 @@ import UIKit
import JXSegmentedView import JXSegmentedView
import IQKeyboardManagerSwift import IQKeyboardManagerSwift
class YHAITabViewController: YHBaseViewController { class YHAITabViewController: YHBaseViewController, UIGestureRecognizerDelegate {
var defaltIndex: Int = 0 var defaltIndex: Int = 0
let viewModel = YHAIViewModel() let viewModel = YHAIViewModel()
...@@ -102,6 +102,8 @@ class YHAITabViewController: YHBaseViewController { ...@@ -102,6 +102,8 @@ class YHAITabViewController: YHBaseViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
view.backgroundColor = .init(hex:0xDEECFE) view.backgroundColor = .init(hex:0xDEECFE)
self.navigationController?.interactivePopGestureRecognizer?.delegate = self
gk_navBarAlpha = 0 gk_navBarAlpha = 0
gk_navigationBar.isHidden = true gk_navigationBar.isHidden = true
createUI() createUI()
...@@ -109,9 +111,38 @@ class YHAITabViewController: YHBaseViewController { ...@@ -109,9 +111,38 @@ class YHAITabViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
//处于第一个item的时候,才允许屏幕边缘手势返回
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = (self.segmentedView.selectedIndex == 0)
self.gk_interactivePopDisabled = (self.segmentedView.selectedIndex != 0)
self.gk_fullScreenPopDisabled = (self.segmentedView.selectedIndex != 0)
requestList() requestList()
} }
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = (self.segmentedView.selectedIndex == 0)
self.gk_interactivePopDisabled = (self.segmentedView.selectedIndex != 0)
self.gk_fullScreenPopDisabled = (self.segmentedView.selectedIndex != 0)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
//离开页面的时候,需要恢复屏幕边缘手势,不能影响其他页面
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true
self.gk_interactivePopDisabled = false
self.gk_fullScreenPopDisabled = false
}
override func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
if self.segmentedView.selectedIndex == 0 {
self.gk_interactivePopDisabled = false
self.gk_fullScreenPopDisabled = false
return true
}
return false
}
deinit { deinit {
NotificationCenter.default.removeObserver(self) NotificationCenter.default.removeObserver(self)
} }
...@@ -250,6 +281,10 @@ extension YHAITabViewController: JXSegmentedViewDelegate { ...@@ -250,6 +281,10 @@ extension YHAITabViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) { func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = (self.segmentedView.selectedIndex == 0)
self.gk_interactivePopDisabled = (self.segmentedView.selectedIndex != 0)
self.gk_fullScreenPopDisabled = (self.segmentedView.selectedIndex != 0)
if segmentedView.selectedIndex == 1 { // AI对话 if segmentedView.selectedIndex == 1 { // AI对话
bgImgView.isHidden = false bgImgView.isHidden = false
headerImgView.isHidden = true headerImgView.isHidden = true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment