EGORefreshTableHeaderView 成员变量定义两个 label 用于提示下拉过程所处状态,和显示
的刷新时间。定义的
CALayer 类对象装载显示图片。UIActivityIndicatorView 类对象显示一个
等待动画;
@property(nonatomic,assign)id <EGORefreshTableHeaderDelegate> delegate;声明一个协议对
象;
接着下面的是
EGORefreshTableHeaderView 类成员函数,用于实现类库中下拉刷新的效果;
最后定义了
4 个协议方法,其中最后一个协议方法为可选实现;
下面是
EGORefreshTableHeaderView.m 文件,想说的都在注释里
1
#import "EGORefreshTableHeaderView.h"
2
3
4
#define TEXT_COLOR [UIColor colorWithRed:87.0/255.0 green:108.0/255.0
blue:137.0/255.0 alpha:1.0]
5
#define FLIP_ANIMATION_DURATION 0.18f
6
7
8
//设置的一个私有接口,只能本类来使用
9
@interface EGORefreshTableHeaderView (Private)
10 - (void)setState:(EGOPullRefreshState)aState;
11 @end
12
13 @implementation EGORefreshTableHeaderView
14
15 @synthesize delegate=_delegate;
16
17 //初始化框架属性,
18 - (id)initWithFrame:(CGRect)frame arrowImageName:(NSString *)arrow textColor:
(UIColor *)textColor {
19 if((self = [super initWithFrame:frame])) {
20 // self.view 自动适应 bounds 的宽度
21 self.autoresizingMask = UIViewAutoresizingFlexibleWidth;
22 // self.view 背景色和透明度设置
23 self.backgroundColor = [UIColor colorWithRed:226.0/255.0 green:231.0/255.0
blue:237.0/255.0 alpha:1.0];
找软件资料,就到一览软件文库