touchesBegan: withEvent: 不执行解决
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
//
//
//CreatedbyMLSon15/11/20.
//Copyright©2015年mls.Allrightsreserved.
//
#import"UIScrollView+UITouch.h"
@implementationUIScrollView(UITouch)
-(void)touchesBegan:(NSSet<UITouch*>*)toucheswithEvent:(UIEvent*)event
{
//选其一即可
[supertouchesBegan:toucheswithEvent:event];
//[[selfnextResponder]touchesBegan:toucheswithEvent:event];
}
@end