欢迎来到天天文库
浏览记录
ID:50886304
大小:925.95 KB
页数:8页
时间:2020-03-15
《无限互联EGORefreshTableHeaderView下拉刷新原理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、【无线互联】EGORefreshTableHeaderView下拉刷新原理在IOS中,经常会使用到下拉刷新UITableView中的数据,比如新浪的客户端,我们就是使用下拉刷新方式来更新微博数据。所以这次主要是对EGORefreshTableHeaderView下拉刷新原理进行分析。在EGORefreshTableHeaderView中只支持英文,通过修改文中_statusLabel.text的内容,可以支持这种那个英文,例如_statusLabel.text=NSLocalizedString(@"下拉刷新",@"Releasetorefreshstatus");UIT
2、ableView继承于UIScrollView,所以可以使用UIScrollView中y的位移量contentOffset.y计算用户当前下拉的位置,从而判断是否开始刷新数据。首先在TableView视图中,我们首先给视图添加一个view用来显示下拉刷新的状态,我们可以把它叫做refreshHeardView。在普通状态下,我们看不到refreshHeardView,因此我们可以将其frame设置到屏幕以外;当用户下拉列表时refreshHeardView就会一点一点显示出来。普通状态下,contentOffset.y=0;当用户下拉时,contentOffsetu6.y
3、的值不断变小,refreshHeardView上显示的箭头朝下,内容为:下拉加载.......;当contentOffset.y<=-65-offsetY(#defineoffsetY(refresh_ios7?64.0:0.0))时,refreshHeardView上控件就会完全显示出来,此时箭头朝上,变为:加载新微博;此时放手,refreshHeardView不上内容变为:正在加载...........;效果图如下图所示根据上面原理就不难理解下面代码中的原理:首先是在初始化的时候创建我们所需要的视图view中的各个控件。_lastUpdateLabel用来显示时间;_
4、statusLabel用来显示下拉的状态;_arrowImage用来显示箭头;_activityView是指示等待器,当加载数据是显示。[objc]viewplaincopyprint?1.-(id)initWithFrame:(CGRect)frame{2.if(self=[superinitWithFrame:frame]){3.1.self.autoresizingMask=UIViewAutoresizingFlexibleWidth;2.self.backgroundColor=[UIColorcolorWithRed:226.0/255.0green:231.
5、0/255.0blue:237.0/255.0alpha:1.0];3.4.UILabel*label=[[UILabelalloc]initWithFrame:CGRectMake(0.0f,frame.size.height-30.0f,self.frame.size.width,20.0f)];5.label.autoresizingMask=UIViewAutoresizingFlexibleWidth;6.label.font=[UIFontsystemFontOfSize:12.0f];7.label.textColor=TEXT_COLOR;8.label.
6、shadowColor=[UIColorcolorWithWhite:0.9falpha:1.0f];9.label.shadowOffset=CGSizeMake(0.0f,1.0f);10.label.backgroundColor=[UIColorclearColor];11.label.textAlignment=NSTextAlignmentCenter;12.[selfaddSubview:label];13._lastUpdatedLabel=label;14.[labelrelease];15.16.label=[[UILabelalloc]initWit
7、hFrame:CGRectMake(0.0f,frame.size.height-48.0f,self.frame.size.width,20.0f)];17.label.autoresizingMask=UIViewAutoresizingFlexibleWidth;18.label.font=[UIFontboldSystemFontOfSize:13.0f];19.label.textColor=TEXT_COLOR;20.label.shadowColor=[UIColorcolorWithWhite:0.9falph
此文档下载收益归作者所有