1

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

在此处输入图像描述

通常,我会添加另一个视图并将顶部约束设置为 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 根本不显示。我究竟做错了什么?

4

1 回答 1

0

在此处输入图像描述

按照步骤 -

1) 添加一个带有前导、尾随和顶部约束 = 0 的 imageView,并为图像提供纵横比,以便它会根据单元格自动获取大小

在此处输入图像描述

2) 现在在您的 imageView 下方添加一个 uiView 并为其提供 0 个约束作为尾随、底部、前导和 0 约束到图像底部,如下所示,并将 uiView 颜色设置为 Clear 以便它不会显示

在此处输入图像描述

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

在此处输入图像描述

结果将如预期

请检查以下链接以下载 collectionViewCell 的 xib 文件

Link - https://drive.google.com/a/erginus.com/file/d/0B2WiGVeE-REPakh3c21rWDlEWUU/view?usp=sharing
于 2017-08-29T05:17:51.880 回答