uitableview contentInset проблема - PullRequest
8 голосов
/ 21 июля 2011

У меня странная проблема с contentInsent. Я использую «Pull & release» для обновления в UITableView, и все работает нормально, но в некоторых случаях я хотел бы отображать состояние «загрузки» без взаимодействия с пользователем. Поэтому я подумал, что просто буду использовать contentInset следующим образом:

scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);

Все работает нормально для 1 или 2 отображаемых ячеек - из 3 возможных на виде. Однако, как только количество ячеек увеличивается, мой баннер вверху не отображается, при этом ручная прокрутка работает нормально. Нужно ли перемещать прокрутку помимо перемещения контента?

Ответы [ 2 ]

32 голосов
/ 27 июля 2011

ОК, поэтому я нашел ответ, немного поиграв с разными значениями. Оказывается, что в случае, описанном выше, кроме настройки contentInset, вам также необходимо настроить contentOffset. В моем случае работал следующий код:

scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);    
scrollView.contentOffset = CGPointMake(0.0f, -60.0f);
2 голосов
/ 11 сентября 2012

это дает лучшие результаты:

CGFloat offset = scrollView.contentOffset.y;
scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);
scrollView.contentOffset = CGPointMake(0, offset);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...