You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.0 KiB

2 years ago
//
// XHRefreshControl.h
// MessageDisplayExample
//
// Created by 曾 宪华 on 14-6-6.
// Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
// 需要大量的delegate用于外部做定制
// 必须实现的delegate
// 1、是否加载中
// 2、将要开始下拉刷新的方法
// 3、将要开始上提加载更多的方法
// 4、最后更新数据的时间
// 可选实现的delegate
// 1、是否支持下拉刷新
// 2、是否支持上提加载更多
// 3、标识下拉刷新是UIScrollView的子view,还是UIScrollView父view的子view
// 4、是否保留iOS7的新特性,只对滚动视图有效
// 5、多少次上提加载后,启用点击按钮进行加载一页数据
typedef NS_ENUM(NSInteger, XHRefreshViewLayerType) {
XHRefreshViewLayerTypeOnScrollViews = 0,
XHRefreshViewLayerTypeOnSuperView = 1,
};
@protocol XHRefreshControlDelegate <NSObject>
@required
/**
* 1
*
* @return delegate方法
*/
- (BOOL)isLoading;
/**
* 2
*/
- (void)beginPullDownRefreshing;
/**
* 3
*/
- (void)beginLoadMoreRefreshing;
/**
* 4
*
* @return
*/
- (NSDate *)lastUpdateTime;
@optional
/**
* 1
*
* @return delegate方法YES
*/
- (BOOL)isPullDownRefreshed;
/**
* 2
*
* @return delegate方法YES
*/
- (BOOL)isLoadMoreRefreshed;
/**
* 3UIScrollView的子viewUIScrollView父view的子view
*
* @return delegate方法scrollView的子ViewXHRefreshViewLayerTypeOnScrollViews
*/
- (XHRefreshViewLayerType)refreshViewLayerType;
/**
* 4UIScrollView的控制器是否保留iOS7新的特性tablView的内容是否可以穿透过导航条
*
* @return delegate方法
*/
- (BOOL)keepiOS7NewApiCharacter;
/**
* 5
*
* @return delegate方法5
*/
- (NSInteger)autoLoadMoreRefreshedCountConverManual;
@end
@interface XHRefreshControl : NSObject
- (id)initWithScrollView:(UIScrollView *)scrollView delegate:(id <XHRefreshControlDelegate>)delegate;
/**
* UIScrollView
*/
- (void)startPullDownRefreshing;
/**
*
*/
- (void)endPullDownRefreshing;
/**
*
*/
- (void)endLoadMoreRefresing;
@end