if let nav = navigationController, let pan = nav.interactivePopGestureRecognizer {
if !isLocalNavigationRootViewController {
scrollView.panGestureRecognizer.require(toFail: pan)
}
}
// 判断当前控制器是不是栈中的第一个控制器
private var isLocalNavigationRootViewController:Bool {
guard let nav = self.navigationController,let root = nav.viewControllers.first else {
return false
}
var vc:UIViewController? = self
while (vc != nil) {
if vc == nav {
return false
} else if vc == root {
return true
}
vc = vc?.parent
}
return false
}
UIScrollView和返回手势冲突的解决方式
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 首先说一下我们项目是怎么简单解决的 当让这可能不是最好的解决方案 于是又是在网上各种查出现的原因 解决方案一 解决...
- 项目中遇到一个页面中是以一个scrollview横向Tab展示两个不同功能的显示,譬如消息和公告功能,但是由于滑动...
- 项目中遇到一个页面中是以一个scrollview横向Tab展示两个不同功能的显示,譬如消息和公告功能,但是由于滑动...