繁体   English   中英

Swift中两个元素之间的自动行距

[英]Auto leading space between two elements in Swift

我有3个隐藏的Labels,从数据库中进行检查后,仅当该Label的值存在时,我才设置label.isHidden = false

所有标签都具有正确值时就是这种情况

因此,我将Storyboard与AutoLayout一起使用来确定这些标签的位置,但是如果其中一个标签仍然隐藏,则需要将标签向左拉,以保持与其他标签的空间。

这就是现在的样子 在此处输入图片说明

是否可以通过编程方式进行? 如果是,怎么办?

为此使用StackView 如果您使用StackView,则不必累赘自动布局,而是可以找到想要的东西

在此处输入图片说明 在此处输入图片说明

单击隐藏后。

在此处输入图片说明

单击显示后

在此处输入图片说明

实现此目的的一种方法是将每个标签相对于相邻标签对齐(例如,label1.trailing到label2.leading)。

然后,可以将宽度约束设置为0并在超级视图上调用layoutIfNeeded ,而不是将任何标签设置为隐藏,然后所有其他标签将相应地进行布局。

使用StackView来处理此Space,而不要使用isHidden隐藏标签。

您还可以通过AutoLayout实现,使用yourConstraint.constant = 0或约束的优先级属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM