Слишком чувствительное обновление при просмотре таблицы EGO

#iphone #objective-c #ipod #pull-to-refresh

#iPhone #objective-c #ipod #повторное обновление

Вопрос:

Я внедрил механизм обновления для просмотра таблицы ego в своем приложении для iphone. Когда я впервые внедрил это, принудительное обновление работало отлично. Однако в последнее время кажется, что механизм извлечения слишком чувствителен.

Например, когда я прокручиваю очень быстро и добираюсь до самого низа, мне придется тянуть не менее 1-2 полных секунд, прежде чем механизм поймет, что я хочу обновить. Однако, даже если я потяну его примерно на .2 секунды, механизм загружается больше.

Я не знаю, имеет ли смысл мой вопрос, но в основном мне интересно, есть ли способ изменить код в ego table view pull refresh, чтобы он не обновлялся, если я не подтягиваюсь в течение более длительного периода времени

Ответ №1:

Глядя на реализацию EGOTableViewPullRefresh ( egoRefreshScrollViewDidEndDragging selector), не кажется, что это вопрос прошедшего времени. перезагрузка будет вызвана просто амплитудой перетаскивания (> 65 пикселей).

Однако вы могли бы легко изменить код и отслеживать время, прошедшее между началом перетаскивания и его окончанием. Просто замените условие:

     if (scrollView.contentOffset.y <= - 65.0f amp;amp; !_loading) {
  

с соответствующей единицей, основанной на прошедшем времени.

Ответ №2:

Я не знаком с этим компонентом, но вот идея:

 // when refresh condition is met (you scrolled beyond the bottom boundary)
[self performSelector:@selector(yourRefreshMethod) withObject:nil afterDelay:2.0];

// when refresh condition is not met (you scrolled back to the normal boundary)
[NSObject cancelPreviousPerformRequestsWithTarget:self];
  

Это заставляет вас прокручивать нижнюю часть в течение 2 секунд, чтобы инициировать обновление. Я предполагаю, что у этого компонента есть какое-то обнаружение обновления, которое вы можете использовать с этим фрагментом.