iOS 下拉更新:XHRefreshControl

jopen 10年前發布 | 24K 次閱讀 iOS開發 移動開發 XHRefreshControl

XHRefreshControl 是一款高擴展性、低耦合度的下拉刷新、上提加載更多的組件。

How to use

#import "XHRefreshControl.h"

XHRefreshControl *refreshControl = [[XHRefreshControl alloc] initWithScrollView:self.yourTableView delegate:self];

以下手動可調用的方法
/**
 *  外部手動啟動下拉加載的方法,這個方法不需要手動去拖動UIScrollView
 */
- (void)startPullDownRefreshing;

/**
 *  停止下拉刷新的方法
 */
- (void)endPullDownRefreshing;

/**
 *  停止上提加載更多的方法
 */
- (void)endLoadMoreRefresing;

/**
 *  沒有更多的數據加載
 */
- (void)endMoreOverWithMessage:(NSString *)message;



以下是delegate方法,用于外部定制
implementation XHRefreshControl required delegate:

@required
/**
 *  1、將要開始下拉刷新的方法
 */
- (void)beginPullDownRefreshing;

/**
 *  2、將要開始上提加載更多的方法
 */
- (void)beginLoadMoreRefreshing;

/**
 *  3、最后更新數據的時間
 *
 *  @return 返回緩存最后更新某個頁面的時間
 */
- (NSDate *)lastUpdateTime;

@optional
/**
 *  1、是否支持下拉刷新
 *
 *  @return 如果沒有實現該delegate方法,默認是支持下拉的,為YES
 */
- (BOOL)isPullDownRefreshed;

/**
 *  2、是否支持上提加載更多
 *
 *  @return 如果沒有實現該delegate方法,默認是支持上提加載更多的,為YES
 */
- (BOOL)isLoadMoreRefreshed;

/**
 *  3、標識下拉刷新是UIScrollView的子view,還是UIScrollView父view的子view
 *
 *  @return 如果沒有實現該delegate方法,默認是scrollView的子View,為XHRefreshViewLayerTypeOnScrollViews
 */
- (XHRefreshViewLayerType)refreshViewLayerType;

/**
 *  4、下拉刷新使用哪種樣式
 *
 *  @return 如果沒有實現該delegate方法,默認是網易新聞App的樣式
 */
- (XHPullDownRefreshViewType)pullDownRefreshViewType;

/**
 *  4、UIScrollView的控制器是否保留iOS7新的特性,意思是:tablView的內容是否可以穿透過導航條
 *
 *  @return 如果不是先該delegate方法,默認是不支持的
 */
- (BOOL)keepiOS7NewApiCharacter;

/**
 *  5、將自動加載更多的狀態轉換為手動加載需要的條件,現在是加載更多多少次后,開始轉換
 *
 *  @return 如果不實現該delegate方法,默認是5次
 */
- (NSInteger)autoLoadMoreRefreshedCountConverManual;

/**
 *  6、獲取用戶定義下拉的View
 *
 *  @return 返回用戶定義的View
 */
- (UIView *)customPullDownRefreshView;

/**
 *  7、通知外部,下拉的距離,用于定制某個時機的狀態
 *
 *  @param refreshView    需要改變狀態的View
 *  @param pullDownOffset 下拉的距離
 */
- (void)customPullDownRefreshView:(UIView *)customPullDownRefreshView withPullDownOffset:(CGFloat)pullDownOffset;

/**
 *  8、將要下拉的時候,被調用
 *
 *  @param customPullDownRefreshView 目標下拉的View
 */
- (void)customPullDownRefreshViewWillStartRefresh:(UIView *)customPullDownRefreshView;

/**
 *  9、將要停止下啦的時候,被調用
 *
 *  @param customPullDownRefreshView 目標下啦的View
 */
- (void)customPullDownRefreshViewWillEndRefresh:(UIView *)customPullDownRefreshView;

iOS 下拉更新:XHRefreshControl

項目主頁:http://www.baiduhome.net/lib/view/home/1403599057670

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!