之前的刷新控件 一直在研究 第三方的插件,今天学习了苹果的API UIRefreshControl
下面来介绍一下
属性有tintColor
attributedTitle
beginRefreshing
endRefreshing
BOOL refreshing
简单贴出 自己写的refresh的代码DEMO
#import "RefreshTableViewController.h"
@interface RefreshTableViewController ()
@property (nonatomic,strong)NSMutableArray *arrM;
@end
@implementation RefreshTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self initRefreshView];
self.arrM = [NSMutableArray arrayWithObjects:@"haha", nil];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
-(void)initRefreshView
{
self.refreshControl = [[UIRefreshControl alloc]initWithFrame:CGRectMake(0, 40, self.view.frame.size.width, 40)];
self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"refresh..." attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:20],NSForegroundColorAttributeName:[UIColor redColor]}];
[self.tableView.tableHeaderView addSubview:self.refreshControl];
[self.refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged];
}
-(void)refresh
{
[self performSelector:@selector(addData) withObject:nil afterDelay:0.1];
}
-(void)addData
{
[self.arrM insertObject:@"hahahahah" atIndex:0];
[self.tableView reloadData];
[self.refreshControl endRefreshing];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.arrM.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *id = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:id
forIndexPath:indexPath];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:id];
}
cell.textLabel.text =self.arrM[indexPath.row];
return cell;
}