iOS表视图之下拉刷新控件
来源:互联网 发布:网络有什么功能 编辑:程序博客网 时间:2024/05/14 18:17
下拉刷新是重新刷新表视图或列表,以便重新加载数据,这种模式广泛用于移动平台,相信大家对于此也是非常熟悉的,那么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
效果:
0 0
- iOS表视图之下拉刷新控件
- 自定义控件之下拉刷新
- 高级控件之下拉刷新
- 【无限互联】IOS开发之下拉刷新控件
- 自定义控件之下拉刷新控件
- Android自定义控件之下拉刷新;
- Android 之下拉刷新控件XRefreshableView
- 商城之下拉刷新SwipeRefreshLayout控件介绍
- 自定义控件之下拉刷新列表
- IOS开发之下拉列表控件开发
- iOS自定义控件之下拉列表按钮
- IOS开发之下拉列表控件开发
- ios之下拉刷新上拉加载更多
- Android常用控件之下拉刷新Wifi列表
- Android自定义控件之下拉刷新加载更多
- App列表之下拉刷新
- Listview列表之下拉刷新
- App列表之下拉刷新
- python-os.path记录
- GMON 思维导图四 - 终端安全架构
- 微信小程序开发的原创经验
- 四个改变你思维的小故事,看成功者们怎么做?
- The Same Game
- iOS表视图之下拉刷新控件
- 【PAT】1012. The Best Rank (25)
- 用PythonPi实现门禁系统-示例
- lightOJ 1246 Colorful Board
- 什么是大数据,什么是红海、蓝海、互联网思维?什么是O2O?什么是众筹?
- nginx源码解析(二)-内存池与内存管理ngx_pool_t
- linux下配置环境
- 怎样成为一个优秀的程序员,而不是一个优秀的码农?
- 前端的css preprocessor