IOS_让UIScrollView的子view响应触摸事件

79 篇文章 0 订阅

有时候在UIScrollView中有某些子视图需要响应一些触摸事件,比如拖动、画板等

但是默认情况下,触摸事件会被UIScrollView捕获

实际上解决的方法很多,这里我先列出一种(自认为最简单的):

先设置UIScrollView的属性:

scrollView.canCancelContentTouches = YES; 
scrollView.delaysContentTouches = NO;

对于要响应事件的子view,继承之,重写之:


#pragma mark -  #pragma mark 触摸事件  - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {  
//在这里设置scrollView的属性  //globalScrollView.scrollEnabled = NO;  
}  

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {  
//处理啥啥 
 } 
 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
 //在这里设置scrollView的属性  //globalScrollView.scrollEnabled = YES; 
 }



至此,我们已经搞定之 – -

更有定制性的用法:

我们甚至可以这么干:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
 If(xxxxx) { 
globalScrollView.scrollEnabled = YES; 
}
 }

在touchesMoved里面做一些判定后再决定是否禁止uiscrollView滚动。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值