2016-08-08 4 views
0

У меня проблема с моим 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]; 

} 

Я не хочу, чтобы поместить мое приложение в Интернете с этой проблемой, даже если это не блокирует пользователя, чтобы использовать его!

Заранее благодарим за вашу помощь!

+0

Что вы подразумеваете под 'потому что Я хочу, чтобы tableView обновлялся только?? вы обновляете, перетаскивая только UITableView, а что делать с помощью делегата scrollview? – iphonic

+0

@iphoniclike было сказано: «Я хочу, чтобы tableView обновлялся только тогда, когда пользователь переставал касаться экрана». Если я этого не сделаю (я имею в виду, если я добавлю селектор), reloadData не будет ждать, когда пользователь перестанет касаться экрана. Есть ли способ сделать это без делегата ScrollView? – Synny

ответ

0

Я нашел решение, перейдя на эту post

Так эффективно в моем случае я не должен добавить селектор, просто реализовать метод тех, UIScrollViewDelegate в :)