UICollectionViewCell布局边距永远不会更新

时间:2018-12-18 06:36:23

标签: ios uicollectionview

我有一个UICollectionView,它基本上看起来像一张桌子,它有UICollectionViewCell个视图的水平堆栈。我希望将标准UIViewController布局边距(在iPhone X上为左侧和右侧的16pt)应用于单元格的内容。这发生在UITableView中。

由于某种原因,我的单元格以开箱即用的空白(8分)初始化,并且从不更新。

Interface Builder

我已经在单元格的.xib中检查了所有这些选项,并且可以注销layoutMargins属性以显示该值正确,但是子视图永远不会移动。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

事实证明,尽管您在Interface Builder中看不到它,但是UICollectionViewCell拥有一个内容视图,默认情况下它不会继承布局边距。

这为我解决了问题

- (void)awakeFromNib
{
    [super awakeFromNib];

    self.contentView.preservesSuperviewLayoutMargins = YES;
    ...
}

在设置了安全区域插图的设备/视图上要小心,这可能会敲打单元格底部的插图。