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

// 手势滑动冲突

parent 6ca49218
......@@ -10,7 +10,7 @@ import UIKit
import JXSegmentedView
import IQKeyboardManagerSwift
class YHAITabViewController: YHBaseViewController {
class YHAITabViewController: YHBaseViewController, UIGestureRecognizerDelegate {
var defaltIndex: Int = 0
let viewModel = YHAIViewModel()
......@@ -102,6 +102,8 @@ class YHAITabViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .init(hex:0xDEECFE)
self.navigationController?.interactivePopGestureRecognizer?.delegate = self
gk_navBarAlpha = 0
gk_navigationBar.isHidden = true
createUI()
......@@ -109,9 +111,38 @@ class YHAITabViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) {
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()
}
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 {
NotificationCenter.default.removeObserver(self)
}
......@@ -250,6 +281,10 @@ extension YHAITabViewController: JXSegmentedViewDelegate {
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对话
bgImgView.isHidden = false
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