我有一个表格视图,在单元格的左侧有一个文本字段,在右侧有一个标签。
标签的约束是非常固定的,具有固定的宽度,容器的垂直中心和与容器右边缘的固定距离。
文本字段的约束是可变的。它在容器的左侧具有固定位置,也是容器的垂直中心,并且与容器的右边缘具有固定的距离。但由于没有设置宽度,宽度实际上是可变的,具体取决于我的应用程序使用的设备。
现在,在编辑模式下,我隐藏标签,只显示文本字段。因此,我希望将文本字段的间距减小到容器的右端,因为没有标签。但是我怎么能在代码中做到这一点?所有约束都在XCode中设置,我没有使用代码执行此操作的经验......
编辑:截图
答案 0 :(得分:1)
如果我正确理解您的问题,您可以从右侧(尾随)约束设置一个IBOutlet到您的UITableViewCell。然后,在UITableViewCell中,更改右(尾随)约束的常量。
实施例
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *textFieldTrailingSpaceToViewConstraint;
[self layoutIfNeeded];
[UIView animateWithDuration:0.3f delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^
{
[textFieldTrailingSpaceToViewConstraint setConstant: 100];
[self layoutIfNeeded];
} completion:nil];