UIScrollView 中处理subView点击事件

在UIScrollView中,当添加多个子视图时,其手势事件处理方式是:如果用户触摸后一段时间内未移动,事件将传递给子视图。为了在ScrollView中实现点击按钮并拖动时取消高亮,需要将canCancelContentTouches设为YES,并重写-(BOOL)touchesShouldCancelInContentView:(UIView *)view方法。当需要取消按钮高亮并开始滚动时,返回YES。delaysContentTouches决定是否等待150ms再传递事件,而cancelsTouches决定事件传递给子视图后是否取消滚动。
摘要由CSDN通过智能技术生成

若在UIScollView里面add了若干个SubView,那它将如何处理手势事件呢?

根据文档,UIScollView在用户触摸屏幕后,会设置一个Timer,在一定时间内,若触摸的点没有移动,则将触摸事件传至subView处理,若触摸的点移动后,则会成为ScrollView的滚动事件。


如果在ScollView中加入按钮,且需要实现入tableView时点击后拖曳,取消按钮高亮,响应滚动事件。

ScrollView 需要将canCancelContentTouches 设为YES,
然后重写UIScrolView的方法 -(BOOL)touchesShouldCancelInContentView:(UIView *)view, 当view为你需要取消高亮开始滑动的按钮,就return YES

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值