【发布时间】:2017-02-18 20:39:13
【问题描述】:
大家好!
我有:
- 视图 - UIViewController 的主视图
- B 视图 - 是 UIView 和 A 视图的子视图 (A_view.addsubview(B_view))
- C 视图 - 是 UICollectionView 和 A 视图的子视图 ...
什么问题?
我无法在父视图控制器中捕捉触摸、滑动事件。
这是什么意思?
当我尝试使用以下方法捕捉触摸事件时:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {...
在视图控制器中我可以看到这样的结果。
我尝试通过添加到 A_view 的 UIScreenEdgePanGestureRecognizer 捕捉滑动
触摸视图 -> touchesBegan(...) -> 工作
在视图上滑动 -> UIScreenEdgePanGestureRecognizer -> 有效
触摸 B 视图 -> touchesBegan(...) -> 工作
在 B 视图上滑动 -> UIScreenEdgePanGestureRecognizer -> 有效
触摸 C 视图 -> touchesBegan(...) -> 不起作用
在 C 视图上滑动 -> UIScreenEdgePanGestureRecognizer -> 不起作用
我注意到我可以在 C 视图控制器中捕获触摸事件。
问题
是否有可能在 A 视图控制器 (UIViewController) 中捕获 C 视图 (UICollectionView) 上产生的滑动/触摸事件。
我的目标
我的目标是制作 SideBar 视图,当我尝试在 C 视图 (UICollectionView) 上捕捉屏幕边缘的滑动时,它只是在里面滚动,但我想在手指启动时打开 SideBar
【问题讨论】:
标签: ios swift uicollectionview uikit swipe