فهرست منبع

1.完成Apex Mobile Result视图,并修改Result刷新视图。

Pen Li 8 سال پیش
والد
کامیت
fc058617b8

+ 15 - 3
RedAnt Mobile/RedAnt Mobile/Refresh/Footer/JLRefreshFooter.m

@@ -59,8 +59,10 @@ CGFloat const JLRefreshFooterHeight = 30;
 }
 
 - (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;
     
-    
+    if (self.offsetBlock) {
+        self.offsetBlock(0);
+    }
 }
 
 - (void)scrollViewContentOffsetDidChange:(NSDictionary<NSKeyValueChangeKey,id> *)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) {
         return;
     }
@@ -240,6 +248,10 @@ CGFloat const JLRefreshFooterHeight = 30;
         return;
     }
     
+    if (self.stateChangeBlock) {
+        self.stateChangeBlock(state);
+    }
+    
     super.state = state;
     
      __weak typeof(self) weakself = self;

+ 0 - 1
RedAnt Mobile/RedAnt Mobile/Refresh/Header/JLRefreshHeader.h

@@ -10,7 +10,6 @@
 
 @interface JLRefreshHeader : JLRefreshBasis
 
-
 - (void)setRefreshTitle:(NSString *)title forState:(JLRefreshState)state;
 
 - (NSString *)refreshTitleForState:(JLRefreshState)state;

+ 13 - 2
RedAnt Mobile/RedAnt Mobile/Refresh/Header/JLRefreshHeader.m

@@ -33,8 +33,10 @@
 }
 
 - (void)setRefreshTitleForState:(JLRefreshState)state {
-    self.refreshTitleLabel.text = [self refreshTitleForState:state];
-    [self setNeedsLayout];
+    if (!self.clear) {
+        self.refreshTitleLabel.text = [self refreshTitleForState:state];
+        [self setNeedsLayout];
+    }
 }
 
 #pragma mark - override
@@ -55,6 +57,11 @@
 }
 
 - (void)scrollViewContentOffsetDidChange:(NSDictionary<NSKeyValueChangeKey,id> *)change {
+    
+    if (self.offsetBlock) {
+        self.offsetBlock(self.scrollView.jl_offsetY);
+    }
+    
     // 正在刷新
     if (self.state == JLRefreshStateRefreshing) {
         
@@ -123,6 +130,10 @@
         return;
     }
     
+    if (self.stateChangeBlock) {
+        self.stateChangeBlock(state);
+    }
+    
     super.state = state;
     
     dispatch_async(dispatch_get_main_queue(), ^{

+ 5 - 0
RedAnt Mobile/RedAnt Mobile/Refresh/JLRefreshBasis.h

@@ -52,6 +52,11 @@ UIKIT_EXTERN NSString *const JLRefreshKeyPathState;
 @property (nonatomic,strong,readonly) UIPanGestureRecognizer *pan;
 @property (nonatomic,weak) id<JLRefreshDelegate> refreshDelegate;
 @property (nonatomic,assign) float pullPercentate;
+@property (nonatomic,copy) void (^stateChangeBlock)(JLRefreshState state);
+@property (nonatomic,copy) void (^offsetBlock)(CGFloat offset);
+@property (nonatomic,assign) BOOL clear;
+
+- (NSString *)refreshTitleForState:(JLRefreshState)state;
 
 - (void)endRefresh;