集合查看iOS 7

时间:2013-10-04 22:04:48

标签: iphone ios objective-c ios7

当我将我的应用程序放在iOS 7中时,顶部单元格会被我的导航栏覆盖。 我尝试使用edgesForExtendedLayout但它只是给我一个iOS 6外观的应用程序。 我正试图利用iOS 7中的半透明条,但edgeForExtendedLayout没有帮助。

有没有办法让这个单元格显示在导航栏的下方?

1 个答案:

答案 0 :(得分:1)

您有几种选择。 UICollectionViewUIScrollView的子视图。

最简单的方法是将视图控制器转换为UICollectionViewController的子类,它会自动处理这些问题。更多信息here

如果您不能,请在视图控制器中将automaticallyAdjustsScrollViewInsets设置为YES,或者在viewDidLayoutSubviews中手动设置集合视图的contentInsets,如下所示:

- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews]

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

使用UICollectionViewController的其他好处是useLayoutToLayoutNavigationTransitions的支持,它可以在集合视图布局之间创建很酷的过渡(例如,Apple的移动日历应用程序)。