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ドキュメントには、何かが欠けていることを示唆するものは何も見つかりませんでした。