我有3个标签的单元格。标签对单元格和其他标签有约束。如果我从superview中删除Label2,那么我将失去约束,我的单元格将被更改。当我删除Label2时,如何以编程方式在Label1和Label3之间添加约束。
答案 0 :(得分:1)
这里有两个选项
1)使用UIStackView
(必须是IOS9 + )
2)约束
因为UIStackView
答案已经给出,所以我建议你采取第二种方式
类似我已经实现了水平对齐标签
按照步骤
1)让我们说你的标签是L1,L2,L3,给每个标签赋予相等的高度(请将L2和L3拖到L1并给出相等的高度)
2)将Equal Height约束优先级设置为 999
3)在您的情况下,L2是可选的(可根据您的情况隐藏或删除),因此将 HEIGHT 约束条件赋予 L2 ,并且常量 0 < / strong>优先级 750 (您的约束条件永远无法突破)
4)采取该约束的 IBOutlet
5)在我的情况下,无论你需要什么,都给予领先的尾随顶部,它是0
6)现在您只需要在需要显示隐藏标签
时更改优先级 func setupViewForMyMemoriams (){
self.priority_Width_L2.priority = UILayoutPriorityDefaultLow
// OR
self.priority_Width_L2.priority = UILayoutPriorityRequired
}
希望它对你有所帮助
答案 1 :(得分:0)
使用UIStackView然后它会自动调整高度。
另一种方法是不删除Label2,但是使高度变为0,将Label2包装在从顶部Label2到Label3的高度的UIView中,然后将该UIView的高度更改为0,在视觉上它将被Label2删除< / p>