我在xib中创建了一个带有可选UIImageView的自定义UITableViewCell。我创建了约束,其中标签的前缘附着在imageView的后缘上。
imageView中的图像是可选的,如果我没有设置图像,我想删除/隐藏imageView并将标签移到左侧。我试图在layoutSubviews中的代码中添加和删除约束,但这打破了其他约束。
我在这里走在正确的轨道上吗?我希望它的行为类似于UITableViewCell本机样式的Value1 / 2,如果没有图像集,则将所有内容移动到左侧。
由于
答案 0 :(得分:0)
对于视图左边缘的文本标签,您可以有两个约束:
|< - (大于= 10) - > [标签] ...
|&LT ;-( 10) - > [ImageView的] LT ;-( 10) - > [标签] ....
因此,如果您想要隐藏图像,您可以隐藏图像/停用约束。
答案 1 :(得分:0)
没有办法让这种情况自动发生,因为无论UIImageView
是否有图像集,-yourImageView.bounds.size.width
都会保持其大小。
一种方法是离开您当前拥有的设置,并在没有图像时将代码中的标签约束更新为{{1}}。这会在需要时改变你的标签。
答案 2 :(得分:0)