這幾天因為住的地方的網出了一點問題,除了能上Q,上微博以外其他的網頁全都無法登陸。部落格也 就沒有跟進。
今天恢複了,所以繼續更新部落格。也希望大家能繼續評論或私自給我一些建議或者 交流:-)
今天找到了以前一個TableView的例子,主要關於上下拉重新整理的,所以寫了一個demo,然 後更新到部落格上來。
內建重新整理
內建重新整理是蘋果IOS6以後才推出的一個API,主要是針對 TableViewController增加了一個屬性,refreshControl,所以如果想用這個內建下拉重新整理的話,最好給 你的TableView指定一個專門的視圖控制器了。
使用的話,我們需要給refreshControl指定一個 UIRefreshControl對象。跟進到標頭檔中看到
三個屬性,算上初始化三個方法,並不難,然後配置refreshControl
/******內建重新整理的常用屬性設定******/UIRefreshControl *refresh = [[UIRefreshControl alloc] init]; refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"下拉重新整理"]; refresh.tintColor = [UIColor blueColor]; [refresh addTarget:self action:@selector(pullToRefresh) forControlEvents:UIControlEventValueChanged]; self.refreshControl = refresh;
設定了一個監聽方法,來簡單看下其實現
//下拉重新整理 - (void)pullToRefresh { //類比網路訪問 [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"重新整理中"]; double delayInSeconds = 1.5; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ _rowCount += 5; [self.tableView reloadData]; //重新整理結束時重新整理控制項的設定 [self.refreshControl endRefreshing]; self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"下拉重新整理"]; [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; _bottomRefresh.frame = CGRectMake(0, 44+_rowCount*RCellHeight, 320, RCellHeight); }); }