【发布时间】:2012-11-14 21:10:25
【问题描述】:
我在实现 UIRefreshControl 时遇到问题 - 当您下拉时,“blob”工作得非常好,刷新微调器工作正常,但 tableView 在刷新时不会向上滚动到微调器。相反,它会停留在原来的位置,直到刷新完成,此时它会返回到屏幕顶部
刷新的代码是:
- (void)viewDidLoad {
self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self action:@selector(refreshView:)forControlEvents:UIControlEventValueChanged];
}
- (void)refreshView:(UIRefreshControl *)refresh {
dispatch_async(dispatch_get_main_queue(), ^{
(...code to get new data here...)
[self.refreshControl endRefreshing];
}
}
我发现如果没有 dispatch_async,即使是刷新微调器也不起作用 - 被拉下的位看起来只是白色
有没有人知道我做错了什么?我发现的所有实现示例似乎都与我正在做的事情相匹配,而且我在 API 文档中没有发现任何表明我遗漏了任何内容的内容
【问题讨论】:
-
但是我告诉过你要从主线程调用 UIKit!
标签: objective-c ios uirefreshcontrol