UIRefreshControl iOS 6 xcode

有没有人有一个如何实现新的UIRefreshControl到Xcode的简短的例子。 我有一个显示推文的UITableViewController ,希望能够下拉和刷新。

你可以在viewDidLoad设置它,如果你有一个UITableViewController

 UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; self.refreshControl = refreshControl; 

那么你可以在这里做你的刷新的东西:

 -(void)refresh { // do something here to refresh. } 

当你刷新[self.refreshControl endRefreshing]; ,调用[self.refreshControl endRefreshing]; 停止更新控制,正如rjgonzo所指出的那样。

您也可以在Interface Builder中进行configuration。 尽pipe它目前的工作方式,它只会节省你几行代码。

selectTableViewController场景,并在属性检查器中find“刷新”的下拉列表选项。 将其设置为“已启用”。 你会注意到在视图控制器层次结构中添加了一个“刷新控制”(你不会看到任何视觉上添加到场景本身)。 奇怪的是,将Refresh Control连接到IBAction(值更改事件)后,事件似乎不会被触发。 我猜这是一个错误(?),但同时,设置“刷新”启用创buildUIRefreshControl对象,并将其分配给视图控制器的refreshControl属性。 完成后,您可以将事件处理行添加到您的viewDidLoad方法中:

 [self.refreshControl addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged]; 

在你的refreshView:方法中,你可以做一些工作,然后停止刷新animation:

 - (void)refreshView:(UIRefreshControl *)sender { // Do something... [sender endRefreshing]; } 

在这里你怎么做拉下来,刷新

在你的UITableViewController.h中添加UIRefreshControl *refreshControl;-(void) refreshMyTableView; 方法全局声明

并在UITableViewController.m的 viewDidLoad

 //initialise the refresh controller refreshControl = [[UIRefreshControl alloc] init]; //set the title for pull request refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"pull to Refresh"]; //call he refresh function [refreshControl addTarget:self action:@selector(refreshMyTableView) forControlEvents:UIControlEventValueChanged]; self.refreshControl = refreshControl; 

并刷新刷新date和时间的function

 -(void)refreshMyTableView{ //set the title while refreshing refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"Refreshing the TableView"]; //set the date and time of refreshing NSDateFormatter *formattedDate = [[NSDateFormatter alloc]init]; [formattedDate setDateFormat:@"MMM d, h:mm a"]; NSString *lastupdated = [NSString stringWithFormat:@"Last Updated on %@",[formattedDate stringFromDate:[NSDate date]]]; refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:lastupdated]; //end the refreshing [refreshControl endRefreshing]; }