一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

iOS表视图中下拉刷新控件功能的实现方法

时间:2022-06-25 23:31:49 编辑:袖梨 来源:一聚教程网

在iOS  6之后,UITableViewControl添加了一个refreshControl属性,该属性保持了UIRefreshControl的一个对象指针。UIRefreshControl就是表视图实现下拉刷新提供的类,目前该类只能用于表视图界面。下面我们就来试试该控件的使用。

编写代码之前的操作类似于前面几篇文章。代码如下:

 代码如下复制代码

#import"ViewController.h"

 @interfaceViewController ()

@end

@implementationViewController

- (void)viewDidLoad {

 [superviewDidLoad];

 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 {

 [superdidReceiveMemoryWarning];

 // 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

{

 return1;

}

-(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;

 returnCell;

}

@end

效果:

热门栏目