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

本文介绍如何在UIScrollView中配置属性,允许指定子视图响应触摸事件,如拖动、画板等操作,并提供定制化的事件处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候在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滚动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值