我在视图中有4个这样的标签:
视图层次结构如下:
但如果每个标签中的一个文本为空,则所有其他标签应与图像垂直居中。
例如:albumDataLabel.text
为空,然后userNameLabel
,albumNameLabel
,albumLocationLabel
应与图片垂直居中。
这样的事情:
那么如何做到这一点,请指出一些方法。
答案 0 :(得分:3)
view
设置包含所有标签的高度限制,这些标签的最小高度(>=)
不变(视图的最小高度)。你可以做这种设置!!
答案 1 :(得分:1)
由于您的4个标签已经在视图中,因此您可以设置标签'限制将第一个标签固定到顶部,最后标记底部,间距介于零
然后选择视图(withLabels)和ImageView以对齐它们的垂直中心
不要为标签或视图设置高度值约束
当您的某个标签中有一个空字符串时,高度会自动设置为零,因此会隐藏'所以视图(withLabels)的高度会缩小。所有这些都可以在界面构建器中完成,无需编码,只需自动布局。
答案 2 :(得分:0)
1)您的 userNameLabel :
userNameLabel.leftAnchor.constraintEqualToAnchor(imageView.rightAnchor, constant: 10).active = true
userNameLabel.topAnchor.constraintEqualToAnchor(self.topAnchor, constant: 50).active = true
userNameLabel.widthAnchor.constraintEqualToConstant(220).active = true
userNameLabel.heightAnchor.constraintEqualToConstant(30).active = true
2)为您的 albumNameLabel :
albumNameLabel.widthAnchor.constraintEqualToConstant(220).active = true
albumNameLabel.heightAnchor.constraintEqualToConstant(30).active = true
albumNameLabel.topAnchor.constraintEqualToAnchor(userNameLabel.bottomAnchor, constant: 5).active = true
albumNameLabel.leftAnchor.constraintEqualToAnchor(imageView.leftAnchor, constant: 10).active = true
3)记住这一点:
self.addSubview(userNameLabel)
self.addSubview(albumNameLabel)
以这种方式继续浏览视图中的所有元素。