iOS 11 beta UICollectionViewCell 在接近顶部栏时使用 contentInsetAdjustmentBehavior 调整大小

iOS 11 beta UICollectionViewCell resizes as it approaches top bar using contentInsetAdjustmentBehavior

我的应用有一个 UIViewController,它的容器视图会填满整个屏幕。容器视图嵌入了一个 UICollectionViewController。这些视图控制器应在状态栏下方滚动并显示。为了实现这一点,我设置了 UICollectionViewController.contentInsetAdjustmentBehavior = .never。 当我滚动 collectionview 并且单元格顶部在状态栏下方滚动时,单元格的内容会缩小。这是不正确的。我只是希望它们像在 iOS 10.3.

中那样在状态栏下滚动

我开发了一个小型测试应用程序来展示我的错误并将其作为错误报告上传。 它看起来很破烂,我无法想象其他人怎么看不到同样的问题。

小测试项目在这里:https://github.com/murthyveda2000/ios11bug

这感觉完全是一个黑客,我希望这实际上是一个 Apple 会修复的错误(但我在 Xcode 9 GM 中看到它,所以我不太乐观)但我是能够在您的示例项目中修复此问题:

cell.contentView.insetsLayoutMarginsFromSafeArea = false

在具有更复杂布局的应用程序中,我还必须将其应用于使用布局边距参考线的子视图。

这可能会产生意想不到的后果,一周后看起来会是一个非常糟糕的答案。我怀疑如果你支持旋转,这可能会搞砸。

万一其他人正在搜索,您也可以通过 取消选中 Safe Area Relative Margins 从相关所选视图的大小检查器中 Safe Area Relative Margins 在 Storyboard 中实现此目的。