下拉刷新是重新刷新表视图或列表,以便重新加载数据,这种模式广泛用于移动平台,相信大家对于此也是非常熟悉的,那么iOS是如何做到的下拉刷新呢?
在iOS 6之后,UITableViewControl添加了一个refreshControl属性,该属性保持了UIRefreshControl的一个对象指针。UIRefreshControl就是表视图实现下拉刷新提供的类,目前该类只能用于表视图界面。下面我们就来试试该控件的使用。
编写代码之前的操作类似于前面几篇文章。代码如下:
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.Logs = [[NSMutableArray alloc]init];//初始化数据 NSDate * date = [[NSDate alloc]init];//初始化日期 [self.Logs addObject:date];//把日期插入数据中 UIRefreshControl * rc = [[UIRefreshControl alloc]init];//初始化UIRefreshControl rc.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新"];//设置下拉框控件标签 [rc addTarget:self action:@selector(refreshAction) forControlEvents:UIControlEventValueChanged];//添加下拉刷新事件 self.refreshControl = rc; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } //下拉刷新事件 -(void)refreshAction { if(self.refreshControl.refreshing) { self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"加载中"];//设置下拉框控件标签 NSDate * date = [[NSDate alloc]init]; [self.Logs addObject:date];//每次刷新添加当前日期 [self.refreshControl endRefreshing];//结束刷新 self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新"]; [self.tableView reloadData]; } } #pragma mark -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [self.Logs count]; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell * Cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; NSDateFormatter * dateFormat =[[NSDateFormatter alloc]init];//NSDate的转换类,可将NSDate转换为其它格式,或者转换为NSDate格式 [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];//设定时间格式 Cell.textLabel.text = [dateFormat stringFromDate:[self.Logs objectAtIndex:indexPath.row]]; Cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; return Cell; } @end
效果:
以上所述是小编给大家介绍的iOS表视图之下拉刷新控件功能的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍iOS编写下拉刷新控件,包括了iOS编写下拉刷新控件的使用技巧和注意事项,需要的朋友参考一下 现在iOS里有很多成熟的下拉刷新控件,比如MJRefresh,SVPullToRefresh 我这里参考了SV的写法,但是回调用的是代理,没有用block,个人感觉用代理更简洁一点 下拉刷新的基本原理 在scrollview的上面和下面分别添加一个view,上面的是下拉的时候展示下拉动画的h
本文向大家介绍Android巧用XListView实现万能下拉刷新控件,包括了Android巧用XListView实现万能下拉刷新控件的使用技巧和注意事项,需要的朋友参考一下 摘要:想必大家做开发的时候都会用到下拉刷新的控件,现在各种第三方的下拉刷新控件不胜枚举。当然最NB的还是XListView。其他也有针对GridView,ScrollView,LinearLayout进行重写的下拉刷新控件。
本文向大家介绍纯javascript实现简单下拉刷新功能,包括了纯javascript实现简单下拉刷新功能的使用技巧和注意事项,需要的朋友参考一下 代码很简单,实现的功能却很实用,直接奉上代码 CSS: HTML: 以上就是本文的全部内容了,希望对大家学习javascript能够有所帮助。
本文向大家介绍ionic实现下拉刷新载入数据功能,包括了ionic实现下拉刷新载入数据功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ionic下拉刷新载入数据的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍jQuery实现的上拉刷新功能组件示例,包括了jQuery实现的上拉刷新功能组件示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现的上拉刷新功能组件。分享给大家供大家参考,具体如下: 技术要点: 1、jQuery的插件写法 2、上拉刷新步骤分解 3、css样式 jQuery的插件写法: 上拉刷新步骤分解: 上拉刷新可以分解成三个部分:一是开始(start),
本文向大家介绍android编程之下拉刷新实现方法分析,包括了android编程之下拉刷新实现方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了android编程之下拉刷新实现方法。分享给大家供大家参考,具体如下: 现在android应用里面下拉刷新比较多 ,今天自己研究一下相关的资料 希望本文所述对大家Android程序设计有所帮助。