做一个下拉后自动在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];//初始化UIRefreshControlUIRefreshControl *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;}
最终效果如下:
时间: 2025-01-15 06:10:38