你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS詳解TableView——內置刷新,EGO,以及搜索顯示控制器

IOS詳解TableView——內置刷新,EGO,以及搜索顯示控制器

編輯:IOS開發綜合
這幾天因為住的地方的網出了一點問題,除了能上Q,上微博以外其他的網頁全都無法登陸。博客也就沒有跟進。 今天恢復了,所以繼續更新博客。也希望大家能繼續評論或私自給我一些建議或者交流:-)   今天找到了以前一個TableView的例子,主要關於上下拉刷新的,所以寫了一個demo,然後更新到博客上來。   內置刷新   內置刷新是蘋果IOS6以後才推出的一個API,主要是針對TableViewController增加了一個屬性,refreshControl,所以如果想用這個內置下拉刷新的話,最好給你的TableView指定一個專門的視圖控制器了。   使用的話,我們需要給refreshControl指定一個UIRefreshControl對象。跟進到頭文件中看到   三個屬性,算上初始化三個方法,並不難,然後配置refreshControl   [cpp]   /******內置刷新的常用屬性設置******/   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;     設置了一個監聽方法,來簡單看下其實現   [cpp]   //下拉刷新   - (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);       });   }     因為這裡並不是真正進行網絡訪問,所以這裡用到了一個模擬網絡訪問延時的方法 dispatch_after 關於這個GCD方法並不難,只要設置延時時間和延時結束Block中的代碼即可。  
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved