0

Я имитирую pull для обновления, когда мой просмотр загружает, который извлекает данные из api.UITableView setContentOffSet вызывает нежелательную прокрутку к началу

[refreshControl beginRefreshing]; 
CGPoint newOffset = CGPointMake(0, -refreshControl.frame.size.height); 
[tableView setContentOffset:newOffset animated:YES]; 

когда данные поступают обратно останавливает контроль обновления, перезагружает TableView и

[refreshControl endRefreshing]; 
[_postsTableView setContentOffset:CGPointZero animated:YES]; 

Если утра в верхней части Tableview штрафа, но если находятся в середине или в нижней части его прокручивается сверху вниз нежелательно.

+0

Потяните, чтобы обновить не будет корректировать автоматический нет необходимости setContentOffset для этого. Используйте SVPullToRefresh, чтобы улучшить свой опыт с помощью pull для обновления. – vivek

+0

«перезагружает табличное представление» как? –

+0

вы можете использовать эту [перезагрузка таблицы] или добавить больше значений, загружаемых с сервера, потянув на таблицу, вставив строки в указатели indexs. Это даст хороший эффект анимации. И если вы исправите, что в любой момент в табличном представлении будет отображаться только 10 строк, тогда используйте [tableview reload] – vivek

ответ

4

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

if (_postsTableView.contentOffset.y < 0) { 
    [_postsTableView setContentOffset:CGPointZero animated:YES]; 
} 
+0

ребята, как будто вы держите мир вращением человека. здорово! работает отлично! – marshy101

+0

Извините, у меня нет достаточного количества очков, чтобы увеличить это. :(но очень ценю это – marshy101

Смежные вопросы