我遇到这个问题已经很长时间了,但似乎找不到有效的答案。我以编程方式设置了所有内容。
例如,在这里,我将容器视图添加到“集合视图”单元格中。
addSubviewWithConstraints(subview: containerView,
topAnchor: self.topAnchor, topConstant: 100,
leadingAnchor: self.leadingAnchor, leadingConstant: 50,
trailingAnchor: self.trailingAnchor, trailingConstant: -50,
bottomAnchor: self.bottomAnchor, bottomConstant: -100)
containerView.addSubviewWithConstraints(subview: headerLabel,
centerXAnchor: self.centerXAnchor,
centerYAnchor: self.centerYAnchor,
width: containerView.frame.width,
height: 44)
当我引用另一个子视图的frame.width时(如在headerLabel约束中所做的那样),它返回0,因此标头标签不可见。如果我改为硬编码宽度值,则可以使用。
通常会在以下情况发生:将超级视图初始化为CGSize.zero,然后在以后更改大小,但由于某种原因,即使在未更改超级视图大小的情况下,在此集合视图单元格中也是如此。