【发布时间】:2014-05-19 05:23:02
【问题描述】:
我在表格视图中使用UIRefreshControl。我已经在viewDidLoad发起了刷新控制:
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
[self.bestDealsTableView addSubview:self.refreshControl];
我有一个滚动的目标方法:
-(void) handleRefresh:(UIRefreshControl *) refreshControl{
[self performSelector:@selector(updateDealsList) withObject:nil withObject:nil];
}
updateDealsList方法:
- (void) updateDealsList {
self.dealsService = [[BestDealsService alloc] initServiceWithDelegate:self isLocalCall:NO];
[self.dealsService fetchBestDeals];
}
在我的服务响应方式中:
[self.refreshControl endRefreshing];
self.isTableViewInRefreshMode = YES;
[self.bestDealsTableView reloadData];
现在,我有两个问题: 1. 我的刷新控件没有隐藏在我的服务的成功响应中。 2. 如果我拉下表格视图,我可以看到一个刷新控件,但如果我再次向下滚动,我会在前一个下方看到一个新控件。
第一次刷新控制的图片:
这里,再次向下滚动后:
注意:我使用的是自定义TableViewCell
【问题讨论】:
-
您能否在致电
performSelector之前尝试将[self.refreshControl endRefreshing];放入-(void) handleRefresh:(UIRefreshControl *) refreshControl{。只是看看能不能解决它。 -
无效。刷新控件仍然存在
标签: ios uitableview uirefreshcontrol