DZNEmptyDataSet自定义视图点击响应问题

最近定义自定义空白页的时候,发现自定义空白页,点击事件无法响应。


DZNEmptyDataSet自定义视图点击响应问题_第1张图片

看了源码发现问题点:

  1. contentView 没有铺全


    DZNEmptyDataSet自定义视图点击响应问题_第2张图片
    image.png
  2. 对事件响应者链做了截断处理


    DZNEmptyDataSet自定义视图点击响应问题_第3张图片

改两个地方:

1. 添加contentView 约束

UIScrollView+EmptyDataSet.m
DZNEmptyDataSet自定义视图点击响应问题_第4张图片

添加v方向约束,使contentView铺满。

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[contentView]|" options:0 metrics:nil views:@{@"contentView": self.contentView}]];

2. EmptyView视图,子视图view部分截断使其不响应事件。事件传递到父视图

PPBlankEmptyView.m
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
    UIView *hitView = [super hitTest:point withEvent:event];
    // Return any UIControl instance such as buttons, segmented controls, switches, etc.
    if ([hitView isKindOfClass:[UIControl class]]) {
        return hitView;
    }
    return nil;
}

你可能感兴趣的:(DZNEmptyDataSet自定义视图点击响应问题)