Ben*_*ohn 3 uiscrollview uikit uigesturerecognizer
我需要一个分页UIScrollView来检测屏幕边缘的平移方式UIScreenEdgePanGestureRecognizer,而不是检测到各处的平移UIPanGestureRecognizer.
我可以从中获取[scrollView panGestureRecogniser]实例scrollView,但我无法将其替换为实例UIScreenEdgePanGestureRecognizer.
它也不可能改变[[scrollView panGestureRecogniser] delegate]为我控制下的一个可以停止滚动手势的对象,除非它们从边缘开始,因为UIScrollView不会让你改变它的UIGestureReconiser代表.
实现这种效果比使用我已经熟悉的技术更容易实现.
如问题中所述,您可以使用[myScrollView panGestureRecogniser]访问滚动视图的平移手势识别器.虽然您无法更改此手势识别器的委托,但您可以更改其用于启动手势的视图 - 它不必是滚动视图实例本身.
[edgePanGestureHolder addGestureRecognizer: [scrollView panGestureRecognizer]];
Run Code Online (Sandbox Code Playgroud)
edgePanGestureHolder 只是一个从边缘延伸到边缘并保持滚动视图的手势识别器的视图.
在edgePanGestureHolder另一个视图的顶部innerPanPrevention.innerPanPrevention不应该一直拉伸到屏幕边缘.
通过此设置,从边缘开始的平移将找到滚动视图的手势识别器edgePanGestureHolder.从视图中间开始的潜在平移将查找手势识别器,innerPanPrevention并且将找不到手势识别器,从而阻止滚动视图平移.
在我的情况下,我也添加了UIGestureRecognisers innerPanPrevention.这些驱动其他滚动视图.从屏幕边缘开始的平移驱动一个滚动视图,并且在屏幕内启动的平移驱动另一个.
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |