|
@@ -59,8 +59,10 @@ CGFloat const JLRefreshFooterHeight = 30;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- (void)setRefreshTitleForState:(JLRefreshState)state {
|
|
- (void)setRefreshTitleForState:(JLRefreshState)state {
|
|
|
- self.refreshTitleLabel.text = [self refreshTitleForState:state];
|
|
|
|
|
- [self setNeedsLayout];
|
|
|
|
|
|
|
+ if (!self.clear) {
|
|
|
|
|
+ self.refreshTitleLabel.text = [self refreshTitleForState:state];
|
|
|
|
|
+ [self setNeedsLayout];
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -115,13 +117,19 @@ CGFloat const JLRefreshFooterHeight = 30;
|
|
|
|
|
|
|
|
self.jl_y = (((int)(self.scrollView.jl_ContentHeight / self.scrollView.jl_height)) + 1) * self.scrollView.jl_height;
|
|
self.jl_y = (((int)(self.scrollView.jl_ContentHeight / self.scrollView.jl_height)) + 1) * self.scrollView.jl_height;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if (self.offsetBlock) {
|
|
|
|
|
+ self.offsetBlock(0);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- (void)scrollViewContentOffsetDidChange:(NSDictionary<NSKeyValueChangeKey,id> *)change {
|
|
- (void)scrollViewContentOffsetDidChange:(NSDictionary<NSKeyValueChangeKey,id> *)change {
|
|
|
|
|
|
|
|
[super scrollViewContentOffsetDidChange:change];
|
|
[super scrollViewContentOffsetDidChange:change];
|
|
|
|
|
|
|
|
|
|
+ if (self.offsetBlock) {
|
|
|
|
|
+ self.offsetBlock(self.scrollView.jl_ContentHeight - self.scrollView.jl_offsetY - self.scrollView.jl_height);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (self.state == JLRefreshStateRefreshing) {
|
|
if (self.state == JLRefreshStateRefreshing) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -240,6 +248,10 @@ CGFloat const JLRefreshFooterHeight = 30;
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (self.stateChangeBlock) {
|
|
|
|
|
+ self.stateChangeBlock(state);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
super.state = state;
|
|
super.state = state;
|
|
|
|
|
|
|
|
__weak typeof(self) weakself = self;
|
|
__weak typeof(self) weakself = self;
|