2013-10-05 3 views
2

В моем приложении у меня есть вид прокрутки, который пользователь может использовать для обновления, чтобы обновить, используя пользовательскую реализацию pull для обновления на основе EGORefreshTableHeaderView. Он отлично работает без разбивки на страницы, но с разбивкой по страницам по причинам, которые понятны, что просмотр прокрутки возвращается к странице и не будет оставаться заблокированным при попытке обновления, потому что он настолько мал, что он не регистрируется как страница, которую можно прокручивать тоже ,Потяните, чтобы обновить с помощью UIScrollView Pagination

Есть ли способ, которым я могу исправить это таким образом, который чувствует и выглядит интуитивно понятным?

ответ

1

Если бы та же проблема сегодня и нашел решение:

Причина заключается в том, что contentOffset не совпадает с разбиением на страницы, так как размер точки зрения нагрузки не то же самое, как ваш размер страницы, так что функция Scrollview обнаружения и прокрутите страницу до текущей страницы.

Для меня самое лучшее, что нужно сделать, это отключить нумерацию страниц, когда pulltorefresh срабатывает (до функции с использованием contentOffset вашего Scrollview) и восстановление его после обновления, если нумерация страниц была включена на Scrollview

Вот пример что я изменил на lib i использую

switch (newState) { 
    case SVPullToRefreshStateAll: 
    case SVPullToRefreshStateStopped: 
     [self resetScrollViewContentInset]; 
     if (self.isPaginationEnabled) { 
      self.scrollView.pagingEnabled = YES; 
     } 
     break; 

    case SVPullToRefreshStateTriggered: 
     if (self.scrollView.pagingEnabled) { 
      self.isPaginationEnabled = YES; 
      self.scrollView.pagingEnabled = NO; 
     } 
     break; 

    case SVPullToRefreshStateLoading: 
     [self setScrollViewContentInsetForLoading]; 

     if(previousState == SVPullToRefreshStateTriggered && pullToRefreshActionHandler) 
      pullToRefreshActionHandler(); 

     break; 
} 
Смежные вопросы