1

当我将我的应用程序放入 iOS 7 时,顶部单元格被我的导航栏覆盖。我尝试使用edgeForExtendedLayout,但它只是让我的应用程序看起来像iOS 6。我正在尝试利用 iOS 7 中的半透明栏,但 edgeForExtendedLayout 没有帮助。

有没有办法让这个单元格出现在导航栏下方?

4

1 回答 1

1

你有几个选择。UICollectionView是 的子视图UIScrollView

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

如果不能,请在视图控制器中设置automaticallyAdjustsScrollViewInsetsYES,或手动设置集合视图的 contentInsets,viewDidLayoutSubviews如下所示:

- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews]

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

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

于 2013-10-04T22:09:02.327 回答