touchesBegan: withEvent: 不执行解决

原创 2015年11月20日 18:00:47

touchesBegan: withEvent: / touchesMoved: withEvent: / touchesEnded: withEvent: 等只能被UIView捕获(如有问题请指出对请指出,路过的大牛请勿喷),当我们创建

UIScrollView 或 UIImageView 时,当点击时UIScrollView 或 UIImageView 会截获touch事件,导致touchesBegan: withEvent:/touchesMoved: withEvent:/touchesEnded: withEvent: 等方法不执行。解决办法:当UIScrollView 或 UIImageView 截获touch事件后,让其传递下去即可(就是传递给其父视图UIView)


可以通过写UIScrollView 或 UIImageView 的category 重写touchesBegan: withEvent: / touchesMoved: withEvent: / touchesEnded: withEvent: 等来实现


//
//  UIScrollView+UITouch.m
//  
//
//  Created by MLS on 15/11/20.
//  Copyright © 2015年 mls. All rights reserved.
//

#import "UIScrollView+UITouch.h"

@implementation UIScrollView (UITouch)

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    // 选其一即可
    [super touchesBegan:touches withEvent:event];
//    [[self nextResponder] touchesBegan:touches withEvent:event];
}

@end


相关文章推荐

UITextView 手势触发 TouchesBegan 函数

前几天做了个手势可以改变文章字体大小的功能。开始,在当前view中添加一个UITextView ,然后添加- (void)touchesBegan:(NSSet *)touches withEvent...

ios UIScrollView不能响应TouchesBegin:的事件的解决办法

1:@property MyScrollView *scrollView; 2:给MyScrollView,增加类别:MyScrollView+Touch 3:在类别里实现下面三个方法: @im...

touchesEnded不响应

接触iOS开发很有一段时间了, touchesEnded不响应主要存在以下几种情况 case 1 : userInteractionEnabled 部分控件如UIView,userInteract...

touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event使用

iOSProgramming – 触摸事件处理(2)          在上一篇《iOS Programming – 触摸事件处理(1)》中了解触摸、事件和响应者之后,接下去学习如何处理用户的触...

touchesBegan等方法不执行

今天写了一个自定义控件继承于UILabel,想要在上面添加点击事件,用touchesBegan等一系列方法实现,程序跑起来自信满满,突然发现程序不执行该方法,找了半天,了解到貌似touch事件只能被U...

UIScrollView无法响应touch事件的解决办法

用过UIScrollView的都会发现UIScrollView不会响应touch事件,这样就无法在touchesEnd方法中做一些事情了,比如关闭键盘等等。其实写个category就可以解决这个问题了...

iOS UIScrollView不能响应touchBegin的解决方法

1、新建类别。如下图。 2、重写以下三个方法。

iOS-自定义的控件UILabel、、、touches等系列事件不执行问题

解决答案在最下面···1.场景描述场景描述我继承了UILabel搞了一个自定义的控件。在搞上一些触摸事件- (void)touchesBegan:(NSSet *)touches withEvent...

iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event此方法用到的频率还是很高的,但是有一种情况,如下图: 同时有白色蓝色...

ios 最简单解决UIScrollView不响应TouchesBegin

1:@property MyScrollView *scrollView; 2:给MyScrollView,增加类别:MyScrollView+Touch 3:在类别里实现下面三个方法: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:touchesBegan: withEvent: 不执行解决
举报原因:
原因补充:

(最多只允许输入30个字)