Mam UINavigationController
w mojej aplikacji. UINavigationBar
jest ustawiony na nieprzezroczysty i wszystkie widoki przewijania nie zachodzą na siebie pod paskiem. W poniższym widoku mam UITableView
. Ramka UITableView
jest (0 0; 320 504)
na moim iPhonie 5. tj. Wysokość to 568 - 64 (wysokość paska nawigacji i paska stanu).iOS7 UIRefreshControl zmienia contentInset
Numer contentInset
z UITableView
to (0, 0, 0, 0)
. Po pierwszym załadowaniu tabeli contentOffset
jest (0, 0)
.
To jest w porządku. Działa wspaniale.
Dodałem UIRefreshControl
do widoku tabeli. Działa to kilka razy, ale po kilkukrotnym wykonaniu odciągania do odświeżenia zawartość na górze zostaje "zablokowana" pod paskiem nawigacji.
Kiedy to się dzieje, sprawdzam numer contentInset
i jest teraz (-60, 0, 0, 0)
.
Czy istnieje sposób, aby zatrzymać sterowanie UIRefreshControl przed zmianą contentInset
?
Usunięto moją odpowiedź, ponieważ już to wykluczyłeś. Dzwonisz na endRefreshing, jak zakładam? – jhilgert00
Bez obaw. Tak, kiedy nazywam 'endRefreshing' na kontroli, znika. To działa dobrze kilka razy, ale potem się freaks i zmiany 'contentInset' ukrywa kilka górnych wierszy pod paskiem nawigacji. – Fogmeister
Prawdopodobnie można uciec z resetowaniem ramki po odświeżeniu, ale nie powinieneś tego robić. – jhilgert00