diff --git a/Source/UIScrollView+EmptyDataSet.m b/Source/UIScrollView+EmptyDataSet.m index d3e2b4ea..1522b79f 100644 --- a/Source/UIScrollView+EmptyDataSet.m +++ b/Source/UIScrollView+EmptyDataSet.m @@ -36,6 +36,30 @@ - (void)prepareForReuse; @end +@interface UITableView (DZNiOS7TableViewWrapperView) + +- (UIView *)dzn_tableViewWrapperView; + +@end + +@implementation UITableView (DZNiOS7TableViewWrapperView) + +- (UIView *)dzn_tableViewWrapperView { + if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1 && + floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1 && + [self isKindOfClass:[UITableView class]]) { + for (UIView *subview in [self subviews]) { + if ([subview isKindOfClass:NSClassFromString(@"UITableViewWrapperView")]) { + return subview; + } + } + } + + return nil; +} + +@end + #pragma mark - UIScrollView+EmptyDataSet @@ -287,6 +311,10 @@ - (void)dzn_willAppear - (void)dzn_didAppear { + if ([self isKindOfClass:[UITableView class]]) { + [(UITableView *)self dzn_tableViewWrapperView].userInteractionEnabled = NO; + } + if (self.emptyDataSetDelegate && [self.emptyDataSetDelegate respondsToSelector:@selector(emptyDataSetDidAppear:)]) { [self.emptyDataSetDelegate emptyDataSetDidAppear:self]; } @@ -301,6 +329,10 @@ - (void)dzn_willDisappear - (void)dzn_didDisappear { + if ([self isKindOfClass:[UITableView class]]) { + [(UITableView *)self dzn_tableViewWrapperView].userInteractionEnabled = YES; + } + if (self.emptyDataSetDelegate && [self.emptyDataSetDelegate respondsToSelector:@selector(emptyDataSetDidDisappear:)]) { [self.emptyDataSetDelegate emptyDataSetDidDisappear:self]; }