在触摸期间停止 UIScrollView 滚动
Posted
技术标签:
【中文标题】在触摸期间停止 UIScrollView 滚动【英文标题】:Stop UIScrollView scrolling during touch 【发布时间】:2013-07-08 18:48:30 【问题描述】:有没有办法阻止UIScrollView
滚动同时按住触摸?使用 scrollViewDidScroll:
委托方法设置内容偏移量过多,可能会导致 GPU 出现一些问题(视图移动和快速重置),所以我希望有一个更简洁的解决方案,如果有的话。
【问题讨论】:
【参考方案1】:你可以通过在 viewDidLoad..中使用它的属性 scrollEnabled 来简单地把它转出来。
self.myScrollView.scrollEnabled = NO;
【讨论】:
请注意:“在触摸过程中”【参考方案2】:我会尝试:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
[scrollView setScrollingEnabled:NO];
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
[scrollView setScrollingEnabled:NO];
按下它会关闭它,您可以调整检测“移动”与原始触摸的距离,以查看是否要重新启用滚动
【讨论】:
只有当视图被触摸时才会起作用。我正在询问当前正在触摸视图的时间。 啊,好吧,我以为触摸开始时仍然触发了长触摸我的坏。 它仅在触摸被移动或结束时触发。然而,setScrollingEnabled:NO
在禁用前视图移动时也会导致抖动动画。这与长触摸没有任何关系。感谢您的回复!以上是关于在触摸期间停止 UIScrollView 滚动的主要内容,如果未能解决你的问题,请参考以下文章