У меня проблема с моим UIRefreshControl
: после первого запуска он отменяет касание поверх моей первой пользовательской ячейки (даже если она скрыта), как если бы он был невидим. Если я удалю его из супервизора, а затем добавьте его снова, проблема все еще там.UIRefreshControl отменить прикосновение к пользовательской ячейке - Objective-c iOS
На самом деле у меня есть UITableView
, который заполнен некоторыми данными. Пользователь может обновить вид таблицы, потянув его за что я добавил UIRefreshControl
на мой взгляд таблицы, как это в viewDidLoad()
self.refreshControl = [[UIRefreshControl alloc]init];
self.refreshControl.tintColor = [UIColor colorWithRed:0.35 green:0.78 blue:0.98 alpha:1.0];
[_tableView addSubview:self.refreshControl];
Я не добавил селектор объекта refreshControl, потому что я хочу Tableview к обновляется только тогда, когда пользователь перестает касаться экрана. Так что я добавил метод делегата этого Scrollview в:
- (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView {
if (self.refreshControl.isRefreshing) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_sync(dispatch_get_main_queue(), ^{
[self refreshTable];
});
});
}
}
А вот мой метод обновления:
- (void)refreshTable {
//refresh code
[self.refreshControl endRefreshing];
}
Я не хочу, чтобы поместить мое приложение в Интернете с этой проблемой, даже если это не блокирует пользователя, чтобы использовать его!
Заранее благодарим за вашу помощь!
Что вы подразумеваете под 'потому что Я хочу, чтобы tableView обновлялся только?? вы обновляете, перетаскивая только UITableView, а что делать с помощью делегата scrollview? – iphonic
@iphoniclike было сказано: «Я хочу, чтобы tableView обновлялся только тогда, когда пользователь переставал касаться экрана». Если я этого не сделаю (я имею в виду, если я добавлю селектор), reloadData не будет ждать, когда пользователь перестанет касаться экрана. Есть ли способ сделать это без делегата ScrollView? – Synny