最近定义自定义空白页的时候,发现自定义空白页,点击事件无法响应。
看了源码发现问题点:
-
contentView 没有铺全
image.png -
对事件响应者链做了截断处理
改两个地方:
1. 添加contentView 约束
UIScrollView+EmptyDataSet.m
添加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;
}
网友评论