2013-10-04 104 views
1

當我把我的應用程序放入iOS 7時,頂部單元格被我的導航欄覆蓋。 我嘗試使用edgesForExtendedLayout,但它只是給我一個iOS 6的應用程序的外觀。 我想利用iOS 7中的半透明條,但edgesForExtendedLayout沒有幫助。收藏查看iOS 7

有沒有辦法讓這個單元格出現在導航欄的下方?

回答

1

你有幾個選擇。 UICollectionViewUIScrollView的子視圖。

最簡單的方法是將您的視圖控制器變爲UICollectionViewController的子類,該子類自動處理這些問題。更多信息here

如果不能,無論是在您的視圖控制器設置automaticallyAdjustsScrollViewInsetsYES,或手動viewDidLayoutSubviews手動設置您的收藏觀的contentInsets像這樣:

- (void)viewWillLayoutSubviews 
{ 
    [super viewWillLayoutSubviews] 

    [_collectionView setContentInset:UIEdgeInsetMake(self.topLayoutGuide.length, 0, self.bottomLayoutGuide.length, 0)]; 
    [_collectionView setScrollIndicatorInsets: _collectionView.contentInset]; 
} 

使用UICollectionViewController的額外好處是useLayoutToLayoutNavigationTransitions支持,它可以在集合視圖佈局之間創建很酷的轉換(例如,Apple的移動日曆應用程序)。

+0

它的工作表示感謝,但它沒有與self.topLayoutGuide.length一起工作,我只是把我的自我座標。 – ElioMB

+0

和一個webView?它給這個代碼的錯誤 – ElioMB

+1

對於webView:'webview.scrollView setContentInset:...' –