我尝试使用Autolayout并排放置两个标签 - 左侧标签是字段名称,右侧标签是值。我正在用Visual Language Format编写约束。
但是,我不希望左侧标签超出其固有宽度,我希望正确的标签填充屏幕中的剩余宽度。我知道我只需要在左侧标签的固有宽度上分配更高的内容拥抱优先级,但是如何在VLF中写入内部宽度?
我希望我的VLF字符串看起来像这样:
H:|-20-[leftLabel(==intrinsicContentWidthGoesHere@1000)]-20-[rightLabel]-20-|
答案 0 :(得分:15)
你无法做到。 许多事物无法在可视格式语法中完成;这只是其中之一。可视格式语法适用于它的优点,但它只能执行约束所能满足的最常用设置的相当小的子集。再举一个例子,你不能用它来设置中心约束。
将视觉格式语法约束与单个约束或其他约束命令混合和匹配没有任何问题。在您的情况下,只需发送视图setContentCompressionResistancePriority:forAxis:
命令或setContentHuggingPriority:forAxis:
命令,然后继续。