Mam UINavigationController
, który może wyświetlać dane jako UICollectionView
lub UITableView
. iOS 7 automatycznie dostosowuje widok przewijania dla pierwszego zbioru UIScrollView
utworzonego w hierarchii widoku.UITableView wskaźnik przewijania pod UINavigationBar po modyfikacji contentEdgeInset
Tak, UICollectionView
jest ok, ale muszę ustawić contentEdgeInset
dla UITableView
. Po tej linii
self.tableView.contentInset = UIEdgeInsetsMake(44.0f, 0.0f, 0.0f, 0.0f);
zawartość UITableView
pokazane są dobrze, ale wskaźnik przewijania nie zatrzymują się na UINavigationBar
, ale nadal pod nią.
Jak mogę rozwiązać ten problem i zatrzymać wskaźnik przewijania na początku UINavigationBar
?
Idealny! Ale "[self.topLayoutGuide length]" nie działa dla mnie ... return 0. Dlaczego? – Fry
Jeśli wywołasz go w -viewDidLoad, to może zwrócić zero. Najlepiej byłoby sprawdzić to w -viewDidLayoutSubviews i ustawić tam swoje wstawki. –
również możesz chcieć ustawić insets zawartości w viewWillLayoutSubviews samo jak poniżej: 'self.tableView.contentInset = UIEdgeInsetsMake (0.0f, 0.0f, 49.0f, 0.0f);' – Sourabh