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


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

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

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

1:@property MyScrollView *scrollView; 2:给MyScrollView,增加类别:MyScrollView+Touch 3:在类别里实现下面三个方法: @im...
  • m372897500
  • m372897500
  • 2016年04月06日 14:29
  • 2114

利用TouchesBegan解决页面内 触摸 某个视图以外的处理的情况

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {     //宣告一个UITouch的指标来存放事件触发时所撷取到...
  • dayuqi
  • dayuqi
  • 2015年11月12日 15:21
  • 1545

ios 最简单解决UIScrollView不响应TouchesBegin

1:@property MyScrollView *scrollView; 2:给MyScrollView,增加类别:MyScrollView+Touch 3:在类别里实现下面三个方法: ...
  • Lea__DongYang
  • Lea__DongYang
  • 2017年03月24日 01:34
  • 666

iOS开发中touchesEnded点击结束函数

/* 点击完成 点击Controller完成 */ - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {     /...
  • m18510011124
  • m18510011124
  • 2015年03月06日 15:59
  • 1021

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

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event此方法用到的频率还是很高的,但是有一种情况,如下图: 同时有白色蓝色...
  • CodingFire
  • CodingFire
  • 2016年11月15日 10:29
  • 6414

ios8绘图方法小记touchesBegan&touchesMoved

// // MyView.swift // L01Test // // Created by robertkun on 15/9/7. // Copyright (c) 2015 MAC. A...
  • robertkun
  • robertkun
  • 2015年09月07日 22:46
  • 1298

iOS setDelaysTouchesBegan 详解

iOS setDelaysTouchesBegan 详解//setDelaysTouchesBegan:NO 会直接将触摸事件发送给视图//setDelaysTouchesBegan:YES 在手势识...
  • jeffasd
  • jeffasd
  • 2017年07月03日 19:18
  • 307

iOS开发中touchesBegan和touchesEn…

touchesBegan跟touchedEnd沒有提供給UIScrollViewDelegate 所以要自己建立一個繼承自UIScrollView的class 重寫這兩個method myScr...
  • cc996
  • cc996
  • 2017年04月06日 18:08
  • 310

iOS开发笔记--识别单击还是双击

在视图上同时识别单击手势和双击手势的问题在于,当检测到一个单击操作时,无法确定是确实是一个单击操作或者只是双击操作中的第一次点击。解决这个问题的方法就是:在检测到单击时,需要等一段时间等待第二次点击,...
  • hopedark
  • hopedark
  • 2013年12月27日 10:49
  • 11185
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:touchesBegan: withEvent: 不执行解决
举报原因:
原因补充:

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