我现在有这些的tableView细胞:Objective-C的VisualFormatString - 标签和TextField并排宽度优先的TextField
每个小区是相同类型的。每个在左侧都有一个UILabel,在右侧有一个UITextField。有些时候数据可能会在加载时传递到文本字段中,其他时间用户将手动输入数据到这些字段中。
一切都以编程方式完成。没有故事板。我正在使用Visual Format Strings来设置单元格的样式。
这是我的问题:
我希望标签的宽度随着给定的内容和文本字段的宽度增长,以填充单元格中剩余的可用空间。
这里是我的代码:
NSDictionary* views = @{ @"bsyLeftLabel": self.bsyLeftLabel, @"bsyRightGenericTextField": self.bsyRightGenericTextField };
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"H:|-18-[bsyLeftLabel]-[bsyRightGenericTextField]-18-|"]
options:0
metrics:nil
views:views]];
正如你可以看到我有与标签和文本字段之间的默认间距单元格的左右两端一个18点的填充。
如何获得标签的宽度与其中的文本一样大,以及用于填充单元剩余宽度的文本字段?
非常感谢您的帮助。
上面的代码给了我你在图片中看到的内容。 –
@KraigWastlund,你是否尝试设置内容拥抱优先级,因为我建议? – rdelmar
设置拥抱标签上的内容,但现在文本字段的内容会覆盖标签的内容。我需要设置标签的宽度,使其始终与其中的文字一样大。问题是,在设置我的约束的地方,我无法访问标签内的文本。有没有办法让标签始终与您的内容一样大? –