0

我正在尝试设置一个水平滚动的集合视图,其中包含大小为 CGSize(宽度:view.frame.width,高度:view.frame.height)的单元格。但是,我的单元格在顶部被导航栏部分覆盖,并且使用边缘插图并不能完全适应所有设备。如何将单元格的顶部设置在新 iPhone X 导航栏的底部?

这就是问题所在。collectionView 设置在默认的 navigationBar 下。

这是问题

4

2 回答 2

3
if #available(iOS 11.0, *) {
    collectionView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
} else {
    collectionView.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor).isActive = true
}

您可能还应该考虑底部安全区域,特别是对于 iPhone X(view.safeAreaLayoutGuide.bottomAnchorbottomLayoutGuide.topAnchor)。

于 2018-01-29T03:05:32.633 回答
1

我认为标记的答案不是在 iOS 上处理安全区域的正确方法。

使用 ScrollViews、TableViews 和 CollectionViews 处理它们的标准方法是将边缘固定到 ViewController 的视图,然后设置内容插入调整:

collectionView.contentInsetAdjustmentBehavior = .always

这意味着内容将在屏幕底部很好地滚动。

于 2020-12-28T14:56:18.773 回答