我对UILayoutGuide完全陌生。我想在imageView下面的空白处放置一个UILabel,它是imageView和UILabel的superview (参见下面的视图层次结构)。

通常,我会添加另一个视图,并将顶部约束设置为UIImageView,将底部约束设置为底部边缘,然后将标签水平和垂直居中到视图。
但我决定使用UILayoutGuide来实现它。下面是我的代码:
override func awakeFromNib() {
super.awakeFromNib()
let topGuide = UILayoutGuide()
let bottomGuide = UILayoutGuide()
self.view.addLayoutGuide(topGuide)
self.view.addLayoutGuide(bottomGuide)
topGuide.bottomAnchor.constraint(equalTo: title.topAnchor).isActive = true
bottomGuide.topAnchor.constraint(equalTo: title.bottomAnchor).isActive = true
self.view.layoutIfNeeded()
}结果是我的UILabel根本没有显示。我做错了什么?
发布于 2017-08-29 13:17:52

按照以下步骤操作:
1)添加一个前导、尾随、顶部约束为0的imageView,并赋予图片宽高比,自动根据单元格获取大小

2)现在在你的imageView下面添加一个uiView,并给它0个约束作为图像底部的拖尾,底部,前导和0约束,如下所示,并使uiView颜色清晰,这样它就不会显示出来

3)现在在UiView中拖动一个label,并将其水平和垂直居中添加到UiView容器中。

结果会和预期的一样
请检查以下链接以下载用于collectionViewCell的xib文件
Link - https://drive.google.com/a/erginus.com/file/d/0B2WiGVeE-REPakh3c21rWDlEWUU/view?usp=sharinghttps://stackoverflow.com/questions/45928150
复制相似问题