iOS: 3个UILabels相互约束
iOS: 3 UILabels under each other constraints
我下面有 3 个 UILabes
。第一个顶约束是20
到superview
,第二个是20
到first label
。第三个是 20
到 second
一个。但有时第一和第二标签的文本是空的。我只是想让我的第 3 个标签变成 20
到 superview
,但是当我设置约束时它变成 20+20+20 to superview.
是否可以只使用情节提要来解决这个问题,或者我必须使用一些代码。
抱歉我的英语不好,请帮帮我。
您可以通过编程方式执行此操作,获取所有标签的 Height
和 Top Space
约束的出口。
检查标签文本,如果为空则将 Height
和 Top Space
约束条件 Constant
设置为 0
。
喜欢,
如果第一个标签文本为空,则将第一个标签 Height constraint
常量设置为 0
,将 Top Space
约束 Constant
设置为 0
。您可以用同样的方法检查其他标签。
您可以在 UIView 中添加每个标签。使顶部 Label 约束为 20 到超级视图(在这种情况下将是 20 到容器 UIView 的顶部)。
然后让 UIView 1 有 top 0 到 superview。 UIView 2 的 top 0 到 UIView 1,UIView 3 的 0 到 UIView 2。
然后你可以隐藏每个 UIView,当你在它对应的 UILabel 中没有任何文本时,它们会很好地显示。
考虑到您的要求,我已经为它创建了一个带有 3 个标签的演示。但是我已经在 Stack View 中添加了垂直方向的这 3 个标签。然后我在 Stack View 之外的 UIView 中添加了一个按钮,然后在单击按钮时我隐藏了第二个标签。这样做我得到了你需要的结果。
@IBAction func btnClicked(sender: AnyObject) {
lbl2.hidden = true
}
希望对您有所帮助。
我下面有 3 个 UILabes
。第一个顶约束是20
到superview
,第二个是20
到first label
。第三个是 20
到 second
一个。但有时第一和第二标签的文本是空的。我只是想让我的第 3 个标签变成 20
到 superview
,但是当我设置约束时它变成 20+20+20 to superview.
是否可以只使用情节提要来解决这个问题,或者我必须使用一些代码。
抱歉我的英语不好,请帮帮我。
您可以通过编程方式执行此操作,获取所有标签的 Height
和 Top Space
约束的出口。
检查标签文本,如果为空则将 Height
和 Top Space
约束条件 Constant
设置为 0
。
喜欢,
如果第一个标签文本为空,则将第一个标签 Height constraint
常量设置为 0
,将 Top Space
约束 Constant
设置为 0
。您可以用同样的方法检查其他标签。
您可以在 UIView 中添加每个标签。使顶部 Label 约束为 20 到超级视图(在这种情况下将是 20 到容器 UIView 的顶部)。
然后让 UIView 1 有 top 0 到 superview。 UIView 2 的 top 0 到 UIView 1,UIView 3 的 0 到 UIView 2。
然后你可以隐藏每个 UIView,当你在它对应的 UILabel 中没有任何文本时,它们会很好地显示。
考虑到您的要求,我已经为它创建了一个带有 3 个标签的演示。但是我已经在 Stack View 中添加了垂直方向的这 3 个标签。然后我在 Stack View 之外的 UIView 中添加了一个按钮,然后在单击按钮时我隐藏了第二个标签。这样做我得到了你需要的结果。
@IBAction func btnClicked(sender: AnyObject) {
lbl2.hidden = true
}
希望对您有所帮助。