實現下拉重新整理效果 僅適用於IOS 6.0

來源:互聯網
上載者:User

iOS6.0中的一個新控制項UIRefreshControl

照例

 

 

今天逛論壇看到別人發的文章,說此控制項只能用於UITableViewController,如果用在其他ViewController中,運行時會得到如下錯誤提示:(即UIRefreshControl只能被UITableViewController管理)

其實他忽略了一點,在ViewController上可以調用

- (void)addSubview:(UIView *)view;

來進行添加UITableViewController,再添加UITableView,這樣UIRefreshControl依舊由UITableViewController管理,但在其他ViewController中依舊可以使用。為了使用原生的下拉效果,你說我們容易嗎!

例子結構:

VC_view 繼承於 UIViewController

TV_table 繼承於 UITableViewController

VC_view 重點代碼

#pragma mark -#pragma mark Custom Methods/****************************************************************************** 函數名稱 : - (void)refreshData 函數描述 : 重新整理視圖資料 輸入參數 : N/A 輸出參數 : N/A 返回參數 : N/A 備忘資訊 : ******************************************************************************/- (void)refreshData{    self.pTV_table = [[TV_table alloc] initWithNibName:@"TV_table" bundle:nil];    self.pTV_table.view.frame = CGRectMake(0, 0, 320, 416);    [_pV_main addSubview:_pTV_table.tableView];}

在UIViewController 添加別的Controller Or View 必須聲明全域變數

//引入UITableViewController,必須在需引入的控制器中聲明其全域變數,不能聲明為局部變數。@property (strong, nonatomic) TV_table *pTV_table;

這是ARC的特點

TV_table 重點代碼

/****************************************************************************** 函數名稱 : - (void)configRefreshControl 函數描述 : 配置RefreshControl 輸入參數 : N/A 輸出參數 : N/A 返回參數 : N/A 備忘資訊 : ******************************************************************************/- (void)configRefreshControl{    UIRefreshControl *refresh = [[UIRefreshControl alloc] init];    refresh.tintColor = [UIColor lightGrayColor];    refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"下拉重新整理"];    [refresh addTarget:self action:@selector(refreshView)      forControlEvents:UIControlEventValueChanged];    self.refreshControl = refresh;}

 

/****************************************************************************** 函數名稱 : - (void)handleData 函數描述 : 處理資料 輸入參數 : N/A 輸出參數 : N/A 返回參數 : N/A 備忘資訊 : ******************************************************************************/-(void)handleData{    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];    [formatter setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];    NSString *lastUpdated = [NSString stringWithFormat:@"最後更新於 %@",                             [formatter stringFromDate:[NSDate date]]];    self.refreshControl.attributedTitle = [[NSAttributedString alloc]                                           initWithString:lastUpdated];    self.count++;    [_pMuArr_dataSource insertObject:[NSString stringWithFormat:@"%d. %@,簡簡單單WZP感覺",                                      _count,                                      [formatter stringFromDate:[NSDate date]]] atIndex:0];        [self.refreshControl endRefreshing];    [self.tableView reloadData];}

 

/****************************************************************************** 函數名稱 : - (void)refreshView 函數描述 : 重新整理視圖 輸入參數 : N/A 輸出參數 : N/A 返回參數 : N/A 備忘資訊 : ******************************************************************************/-(void)refreshView{    if (self.refreshControl.refreshing) {        self.refreshControl.attributedTitle = [[NSAttributedString alloc]                                               initWithString:@"載入資料..."];        [self performSelector:@selector(handleData) withObject:nil afterDelay:2];    }}

 

PRJ_pullDownRefresh6.0.zip :http://ishare.iask.sina.com.cn/f/34851880.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.