码迷,mamicode.com
首页 > 移动开发 > 详细

iOS实现ScrollView中子控件view的触摸事件响应

时间:2020-03-14 16:59:28      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:init   string   items   除了   view   null   nta   ble   设置   

实现UIScrollView子类

#import "EgItemScrollView.h"

@implementation EgItemScrollView

- (instancetype)init

{

    self = [super init];

    if (self) {

        //子控件响应触摸事件 NO表示立即响应,YES表示延迟响应

        self.delaysContentTouches = NO;

        // NO ScrollView 不处理消息由子视图处理 默认是YES

        self.canCancelContentTouches = YES;

    }

    return self;

}

// 当设置canCancelContentTouches=YES时,除了touchBegin以外的所有触摸事件响应前会调用

// NO 由子视图处理消息,YES 子视图不响应消息处理

- (BOOL)touchesShouldCancelInContentView:(UIView *)view

{

  // myView view 自己响应消息

    if ([view isKindOfClass:NSClassFromString(@"myView")]) {

        return NO;

    }

    return [super touchesShouldCancelInContentView:view];

}

// 在触摸事件开始相应前调用

// 优先于 touchesShouldCancelInContentView 判断touchBegin 默认是YES

- (BOOL)touchesShouldBegin:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event inContentView:(UIView *)view{

    if ([view isKindOfClass:NSClassFromString(@"myView")]) {

        return YES;

    }

    return NO;

}

 

@end

iOS实现ScrollView中子控件view的触摸事件响应

标签:init   string   items   除了   view   null   nta   ble   设置   

原文地址:https://www.cnblogs.com/Xujg/p/12492439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!