#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 секунд, чтобы инициировать обновление. Я предполагаю, что у этого компонента есть какое-то обнаружение обновления, которое вы можете использовать с этим фрагментом.