Ho un UINavigationController
che può mostrare i dati come UICollectionView
o in UITableView
. iOS 7 regola automaticamente la visualizzazione a scorrimento interna per il primo UIScrollView
fondato nella gerarchia delle viste.Indicatore di scorrimento UITableView in UINavigationBar dopo la modifica di ContentEdgeInset
Quindi, UICollectionView
è ok ma devo impostare contentEdgeInset
per UITableView
. Dopo questa linea
self.tableView.contentInset = UIEdgeInsetsMake(44.0f, 0.0f, 0.0f, 0.0f);
contenuti in UITableView
sono mostrati bene, ma l'indicatore di scorrimento non si ferma al UINavigationBar
, ma continuare sotto di essa.
Come posso risolvere questo e interrompere l'indicatore di scorrimento all'inizio di UINavigationBar
?
Perfetto! Ma '[self.topLayoutGuide length]' non funziona per me ... return 0. Why? – Fry
Se lo chiami in -viewDidLoad, potrebbe restituire zero. La cosa migliore da fare sarebbe controllarlo in -viewDidLayoutSubviews e impostare i propri margini lì. –
potresti anche voler impostare insiemi di contenuti anche in viewWillLayoutSubviews come segue: 'self.tableView.contentInset = UIEdgeInsetsMake (0.0f, 0.0f, 49.0f, 0.0f);' – Sourabh