touchesBegan: withEvent: 不执行解决

2022-09-15 10:18:30 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

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: 等来实现

代码语言:javascript复制
////  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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164171.html原文链接:https://javaforall.cn

0 人点赞