我有3个隐藏的标签,在从数据库检查后,我只有在该标签的值存在时才设置label.isHidden = false
。
所以我使用带有AutoLayout的Storyboard来确定这些标签的位置,但如果其中一个仍然隐藏,则我需要将标签拉到左侧,以保留其他标签的空间。
是否可以通过编程方式进行?如果是,怎么样?
答案 0 :(得分:1)
答案 1 :(得分:1)
实现此目的的一种方法是将每个标签相对于相邻标签对齐(例如label1.trailing to label2.leading)。
然后,不是将任何标签设置为隐藏,而是可以将宽度约束设置为0并在超级视图上调用layoutIfNeeded
,然后所有其他标签将相应地进行布局。
答案 2 :(得分:0)
使用StackView处理此Space而不是使用isHidden来隐藏标签。
您也可以通过AutoLayout实现该功能,使用约束的.Constraint.constant = 0或优先级属性。