使用UIRefreshControl刷新表格UITableView

使用UIRefreshControl刷新表格:

主要代码:

//设置refreshControl的属性,该属性应该是UIReferseControl控件
    self.refreshControl = [[UIRefreshControl alloc]init];
    //设置颜色
    self.refreshControl.tintColor = [UIColor redColor];
    //设置该控件的提示标题
    self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新"];
    //为这个刷新事件设置事件处理方法
    [self.refreshControl addTarget:self action:@selector(dateReferse) forControlEvents:UIControlEventValueChanged];


当程序创建UIRefreshControl控件时,可以为该控件德尔刷新事件指定一个事件处理方法。当用户通过该控件刷新时,系统会激发这个事件处理方法,该方法应用到从底层数据库,网络,远程应用等地方的检索数据,并将这些数据添加、显示到表格中。

下方具体用法:

1、首先创建一个工程,然后创建一个继承与UITableViewController的视图控制器,然后把它作为window的根视图,(即显示到页面上)

2、由于继承于UITableViewController,所以无需设置表格代理,因为该控制器系统内部已经设置好了。

3、接下来就是实现部分了。如下:

//
//  refershTableViewController.m
//  11111
//
//  Created  on 16/1/14.
//  Copyright © 2016年 . All rights reserved.
//

#import "refershTableViewController.h"

@interface refershTableViewController ()
{
    NSMutableArray *dataArray;
    
}
@end

@implementation refershTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //初始化NSMutableArray集合
    dataArray = [[NSMutableArray alloc]initWithObjects:@"宵夜现在",@"小猴子",@"水果刀",@"苹果",@"香蕉",@"大象",@"老鼠", nil];
    //设置refreshControl的属性,该属性应该是UIReferseControl控件
    self.refreshControl = [[UIRefreshControl alloc]init];
    //设置颜色
    self.refreshControl.tintColor = [UIColor redColor];
    //设置该控件的提示标题
    self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新"];
    //为这个刷新事件设置事件处理方法
    [self.refreshControl addTarget:self action:@selector(dateReferse) forControlEvents:UIControlEventValueChanged];
    
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return dataArray.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellID = @"celll";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if (cell == nil) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
    }
    NSInteger rowNo = indexPath.row;
    cell.textLabel.text = [dataArray objectAtIndex:rowNo];
    
    return cell;
}
-(void)dateReferse
{
    //这里延时两分钟是为了表示模拟远程接受数据所耗时的
    [self performSelector:@selector(zengjiadata) withObject:nil afterDelay:2];
}
-(void)zengjiadata
{
    NSString *str = [NSString stringWithFormat:@"%d",arc4random()%9000];
    [dataArray addObject:str];
    self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"正在刷新"];
    [self.refreshControl endRefreshing];
    [self.tableView reloadData];
    
}





@end
效果图如下:<下方数字就是通过刷新出来的,左右两张是改变UIRefreshControl的 颜色的不同的效果图>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值