IOS學習之——UIRefreshControl下拉刷新控件




#import "MyTableViewController.h"

@interface MyTableViewController ()
@property(nonatomic,strong)NSMutableArray *array;
@property(nonatomic,strong)UIRefreshControl *refresh;
@end

@implementation MyTableViewController

-(NSMutableArray *)array {
    if(!_array) {
        _array = [@[@"張三", @"李四", @"王五"]
        mutableCopy];
    }
    return _array;
}


- (void)viewDidLoad {
    [super viewDidLoad];
    //1. 創建 UIRefreshControl控件的實例
    self.refresh = [[UIRefreshControl alloc]init];
    //2. 將實例 賦值 給表視圖控制器的 refreshControl 屬性
    self.refreshControl = self.refresh;
    //3. 給 refresh 添加 valueChanged 事件的監聽
    [self.refresh addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
    
    //當前 是否正在刷新
//    self.refresh.isRefreshing = NO;
    
   }

-(void)refresh:(UIRefreshControl*)sender {
//    開始刷新數據
    NSLog(@"開始刷新數據");
    
    //三秒鐘以後執行  後 調用 加載數據方法  SEL
    [self performSelector:@selector(refreshOver:) withObject:@"趙六" afterDelay:3];
}
//加載完成  把 傳入的數據 添加到tabelview
-(void)refreshOver:(NSString*)name {
    //在數組的 開始位置 插入新的數據
    [self.array insertObject:name atIndex:0];
    //更新界面
    [self.tableView reloadData];
    //修改 refreshContro , 停止旋轉
    [self.refresh 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.array.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"reuseIdentifier" ];
    if (!cell) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"reuseIdentifier"];
    }
    cell.textLabel.text = self.array[indexPath.row];
    return cell;
}
@end


發佈了43 篇原創文章 · 獲贊 26 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章