我在故事板中有一些静态的UITableViewCells:
我希望底部四个单元格右侧的文本字段向左对齐。密码和某些密码之间已存在约束,因为密码是屏幕上最长的标签。我希望其他文本字段与那个文本字段一致。
我似乎无法多选文本字段来添加对齐约束,也无法从文本字段拖到另一个并获得一组约束选项。
有没有办法在Xcode中执行此操作,还是唯一的方法是为这些静态单元创建插座并在代码中添加约束?
答案 0 :(得分:0)
我只是尝试将所有标签对齐,将所有文本字段手动对齐,然后应用以下约束。
因此文本字段左对齐,宽度灵活 并且标签与右边对齐,固定为。
对我来说效果很好。
答案 1 :(得分:0)
我刚刚在代码中解决了这个问题。只需给每个标签除最长标签以外的固定宽度约束。然后在视图控制器中输出这些约束的出口。然后在viewDidLayoutSubviews中,将这些约束的宽度设置为最长标签的框架宽度,如:
nameLabelWidthConstraint.constant = passwordLabel.frame.size.width
locationLabelWidthConstraint.constant = passwordLabel.frame.size.width
emailLabelWidthConstraint.constant = passwordLabel.frame.size.width
您可能想要对齐标签,取决于您当然想要的内容。
如果标签的名称是动态的(例如支持更多语言时),那么您可能还需要检查代码中哪个标签最长。在这种情况下,您不想在故事板中设置with约束。相反,您需要首先检查每个标签的框架宽度。找到最大数字,然后将宽度约束添加到代码中具有该宽度的每个标签。