UIScrollView不能响应UITouch事件的解决办法

移动开发 iOS
UIScrollView不能响应UITouch事件?让UIScrollView将事件传递过去。于是最简单的解决办法就是加一个UIScrollView的category。这样每个用到UIScrollView的地方只要导入这个category就可以直接响应相关的touch事件了。

这个不用多说直接上代码。

原因是:UIView的touch事件被UIScrollView捕获了。

解决办法:让UIScrollView将事件传递过去。于是最简单的解决办法就是加一个UIScrollView的category。这样每个用到UIScrollView的地方只要导入这个category就可以直接响应相关的touch事件了。

类似问题:在论坛看见很多人说UIImageView也没办法响应,我没尝试过,不过我想解决办法和原因都是一样的。 如果有人尝试过,不一样,欢迎批评指正。

  1. #import "UIScrollView+UITouch.h"       
  2.  @implementation UIScrollView (UITouch)       
  3.  - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {   
  4.    [[self nextResponder] touchesBegan:touches withEvent:event];   
  5.    [super touchesBegan:touches withEvent:event];   
  6.  }       
  7.  -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {   
  8.    [[self nextResponder] touchesMoved:touches withEvent:event];   
  9.    [super touchesMoved:touches withEvent:event];   
  10.  }   
  11.  - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {   
  12.    [[self nextResponder] touchesEnded:touches withEvent:event];   
  13.    [super touchesEnded:touches withEvent:event];   
  14.  }   
  15.  @end  
责任编辑:闫佳明 来源: oschina
相关推荐

2015-11-30 12:02:25

DNS服务器

2013-08-13 14:08:23

android 4.0WebView

2009-06-03 16:41:21

Eclipse乱码Eclipse

2010-04-16 12:42:44

无线路由器故障

2011-03-04 13:07:47

Filezilla

2011-01-19 17:54:48

2016-03-23 09:37:22

响应式网页设计

2009-05-31 09:07:35

Oracle锁定

2015-03-23 11:16:38

网页打不开

2011-06-17 11:10:51

Qt 中文 输出

2009-12-07 18:38:16

WCF异常

2010-01-15 09:38:08

磁盘被写保护解决办法

2017-05-04 20:15:51

iOSNSTimer循环引用

2009-02-18 09:30:10

AJAX跨域XML

2020-05-09 10:59:33

git cloneLinux文件

2012-03-14 10:58:27

Java

2011-04-21 16:42:40

传真机

2012-07-31 16:06:28

Linux内核编译

2009-05-26 14:34:55

Ubuntuwubi临时

2009-11-30 10:55:16

PHP页面乱码
点赞
收藏

51CTO技术栈公众号