我在使用UITableView的项目中添加了UIRefreshControl的功能。该应用程序通过从Web服务提取条目到tableview来工作。下面是我用来添加UIRefreshControl代码:UITableView UIRefreshControl在第一次不显示其视图
- (void)viewDidLoad
{
[super viewDidLoad];
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
refreshControl.tintColor = [UIColor grayColor];
refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Updating New Entries"];
[refreshControl addTarget:self action:@selector(pullToRefresh) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
[self pullToRefresh];
}
- (void) pullToRefresh
{
counter = 1;
[self fetchEntriesNew:counter]; // My code for updating table view
[self performSelector:@selector(updateTable) withObject:nil afterDelay:2];
}
- (void)updateTable
{
[self.tableView reloadData];
[self.refreshControl endRefreshing];
}
现在,如果我拉刷新,它刷新通过添加新条目,如果有任何和显示我在的tableview的顶部以下观点:
除了第一次启动或打开应用程序时,一切都很好,它不显示我已经在上图中显示的视图,尽管它刷新了tableview。我希望它每次刷新时都显示刷新控制视图。任何人都可以指出我做错了什么?谢谢!
UPDATE:我已经添加了[self refreshControl beginRefreshing],并且UIRefreshControl的微调控件视图现在正在显示,但它的上方是第一个tableview的条目。任何人都可以指出如何纠正它?
的可能重复的[UIRefreshControl - beginRefreshing时的UITableViewController是内部的UINavigationController不工作] (http://stackoverflow.com/questions/14718850/uirefreshcontrol-beginrefreshing-not-working-when-uitableviewcontroller-is-ins) – JosephH