iOS简单的下拉刷新
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS简单的下拉刷新相关的知识,希望对你有一定的参考价值。
做一个下拉后自动在tableviewCell 上刷新当前时间的一个小demmo。
新建一个UITableviewController,在viewDidLoad里初始化变量,时间和UIRefreshControl,代码如下:
#import "TableViewController.h"
@interface ViewController()
@property(nonatomic,strong)NSMutableArray *logs;
@end
@implementation ViewController
-(void)viewDidLoad{
[super viewDidLoad];
self.logs=[NSMutableArray alloc]init];
NSDate *date=[NSDate alloc]init];
[self.logs addObject:date];
//初始化UIRefreshControl
UIRefreshControl *rc=[UIRefreshControl alloc]init];
//下拉控件的标题
rc.attributedTitle=[[NSAttributedString alloc]initWithString:@"下拉刷新"];
//添加事件
[rc addTarget:self action:@selector(refreshTableview) forControlEvents:UIControlEventValueChanged];
self.refreshControl=rc;
}
refreshtableview方法代码如下:
-(void)refreshTableview{
if(self.refreshControl.refreshing){
self.refreshControl.attributedTitle=[[NSAttributedString alloc]initWithString:@"下拉刷新"];
//添加新的模拟数据
NSDate *date=[[NSDate alloc]init];
[self.logs addObject:date];
[self.refreshControl endRefreshing];
[self.tableView reloadData];
}
设置tableViewCell:
-(NSInteger)numberOfSectionInTableView:(UITableView*)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{
return [self.logs count];
}
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowsIndexPath:(NSIndexPath*)indexPath{
static NSString *[email protected]"Cell";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil){
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellsStyleValue1 reuseIdentifier:cellIdentifier];
}
NSDateFormatter*dateformat=[[NSDateFormatter alloc]init];
[self.dateformat setDateFormat:@"yyyy-MMM-dd HH:mm:ss:zzz"];
cell.tableLable.text=[dateformat stringFromDate:[self.logs objectAtIndex:[indexPath row]]];
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
最终效果如下:
以上是关于iOS简单的下拉刷新的主要内容,如果未能解决你的问题,请参考以下文章