UIScrollView 中处理subView点击事件
2013-11-18 11:13
2501 查看
若在UIScollView里面add了若干个SubView,那它将如何处理手势事件呢?
根据文档,UIScollView在用户触摸屏幕后,会设置一个Timer,在一定时间内,若触摸的点没有移动,则将触摸事件传至subView处理,若触摸的点移动后,则会成为ScrollView的滚动事件。
如果在ScollView中加入按钮,且需要实现入tableView时点击后拖曳,取消按钮高亮,响应滚动事件。
ScrollView 需要将canCancelContentTouches 设为YES,
然后重写UIScrolView的方法 -(BOOL)touchesShouldCancelInContentView:(UIView *)view, 当view为你需要取消高亮开始滑动的按钮,就return YES
这样子
当你在150ms的时间按住按钮并没滑动,就进入按钮的高亮事件
当你在150ms的时间按住按钮并滑动,就会响应scrollview的滑动事件,并不将手势传到subview中(按钮)
当你在150ms的时间按住按钮并没滑动,就进入按钮的高亮事件,然后进行滑动,这时候sv会判定canCancelContentTouches 是否为YES,若为YES,询问当前触摸点所在VIew是否能取消手势-(用以下函数)(BOOL)touchesShouldCancelInContentView:(UIView *)view ,若为YES,就取消subview的手势,开始滑动
其中,两个变量有着比较重要的作用
delaysContentTouches的作用:
这个标志默认是YES,使用上面的150ms的timer,如果设置为NO,touch事件立即传递给subView,不会有150ms的等待。
cancelsTouches的作用:
这个标准默认为YES,如果设置为NO,这消息一旦传递给subView,这scroll事件不会再发生。
根据文档,UIScollView在用户触摸屏幕后,会设置一个Timer,在一定时间内,若触摸的点没有移动,则将触摸事件传至subView处理,若触摸的点移动后,则会成为ScrollView的滚动事件。
如果在ScollView中加入按钮,且需要实现入tableView时点击后拖曳,取消按钮高亮,响应滚动事件。
ScrollView 需要将canCancelContentTouches 设为YES,
然后重写UIScrolView的方法 -(BOOL)touchesShouldCancelInContentView:(UIView *)view, 当view为你需要取消高亮开始滑动的按钮,就return YES
这样子
当你在150ms的时间按住按钮并没滑动,就进入按钮的高亮事件
当你在150ms的时间按住按钮并滑动,就会响应scrollview的滑动事件,并不将手势传到subview中(按钮)
当你在150ms的时间按住按钮并没滑动,就进入按钮的高亮事件,然后进行滑动,这时候sv会判定canCancelContentTouches 是否为YES,若为YES,询问当前触摸点所在VIew是否能取消手势-(用以下函数)(BOOL)touchesShouldCancelInContentView:(UIView *)view ,若为YES,就取消subview的手势,开始滑动
其中,两个变量有着比较重要的作用
delaysContentTouches的作用:
这个标志默认是YES,使用上面的150ms的timer,如果设置为NO,touch事件立即传递给subView,不会有150ms的等待。
cancelsTouches的作用:
这个标准默认为YES,如果设置为NO,这消息一旦传递给subView,这scroll事件不会再发生。
相关文章推荐
- ios UIScrollview UIImageView点击事件处理
- 循环滚动UIScrollView(无点击事件处理)
- 循环滚动UIScrollView(有点击事件处理)
- 转自原文地址:IOS UIScrollview UIImageView点击事件处理
- cocos2dx中精灵点击事件处理的两种方式——Sprite和ImageView
- ios UIScrollView响应点击事件
- RecycleView的通用适配器BaseQuickAdapter处理item中子控件的点击事件以及cardview卡片阴影
- 如何解决UIScrollView中添加UITapGestureRecognizer跟UIButton点击事件冲突
- TextView 和 EditText 的 DrawableRight 点击事件的处理
- UIScrollView不像样touchBegain点击事件
- Android零基础入门第66节:RecyclerView点击事件处理
- 揭开RecyclerView的神秘面纱(二):处理RecyclerView的点击事件
- 将UIScrollView点击点击事件传递到父View
- UIScrollView在有点击手势的情况下,会导致UITableView的cell点击事件无法响应
- 自定义ImageView处理其长按和点击事件
- RecyclerView点击事件处理
- ios中的tablebview点击事件的处理
- Android实现图文混排(2) 通过webview实现 并实现点击 图片处理事件
- UIScrollView,点击、滑动翻页事件的区分
- 让UIScrollView上的subView响应触摸事件