6

我有一個UINavigationController,它可以顯示數據爲UICollectionViewUITableView。 iOS 7自動調整在視圖層次結構中創建的第一個UIScrollView的滾動視圖插圖。修改contentEdgeInset後,在UINavigationBar下的UITableView滾動指示器

因此,UICollectionView是好的,但我必須爲UITableView設置contentEdgeInset。這條線經過UITableView

self.tableView.contentInset = UIEdgeInsetsMake(44.0f, 0.0f, 0.0f, 0.0f);

的含量示好,但滾動指示不會在UINavigationBar停止,但在它繼續下去。

我該如何解決這個問題並在UINavigationBar開頭停止滾動指示器?

enter image description here

回答

11

您還可以設置scrollIndicatorInsets如下:

self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(44.0f, 0.0f, 0.0f, 0.0f); 

順便說一句,在iOS 7,你應該使用[self.topLayoutGuide length]而不是硬編碼44.0f像素。來自iOS 7 Transition Guide

topLayoutGuide和bottomLayoutGuide屬性指示視圖控制器視圖中頂部或底部條邊的位置。

+0

完美!但'[self.topLayoutGuide長度]'不適合我...返回0.爲什麼? – Fry

+2

如果你在-viewDidLoad中調用它,那麼它可能會返回零。最好的辦法是在-viewDidLayoutSubviews中檢查它並在那裏設置你的插入。 –

+0

你也可以在viewWillLayoutSubviews中設置內容插入如下: 'self.tableView.contentInset = UIEdgeInsetsMake(0.0f,0.0f,49.0f,0.0f);' – Sourabh

相關問題