最近定義自定義空白頁的時候,發(fā)現(xiàn)自定義空白頁,點擊事件無法響應(yīng)。

看了源碼發(fā)現(xiàn)問題點:
-
contentView 沒有鋪全
image.png -
對事件響應(yīng)者鏈做了截斷處理
改兩個地方:
1. 添加contentView 約束
UIScrollView+EmptyDataSet.m

添加v方向約束,使contentView鋪滿。
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[contentView]|" options:0 metrics:nil views:@{@"contentView": self.contentView}]];
2. EmptyView視圖,子視圖view部分截斷使其不響應(yīng)事件。事件傳遞到父視圖
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;
}

