只要文本是,就在 UILabel 中显示背景颜色
Show background color in UILabel only as long as the text is
我已经通过故事板中视图控制器的属性选项卡设置了 backgroundColor
。但是我只想在标签中填充的文本长度中显示背景颜色,而不是在整个可能的长度中。
我无法附上任何图片,所以这是我想要的:

请尝试以下步骤:
- Select 情节提要中的
UILabel
。
- 打开"Size Inspector."
- 在 "Label" 部分,确保取消选中 "Explicit"。
- 在 "Constraints," 的列表中,确保没有约束提供宽度 属性 的值。此外,删除任何将
UILabel
的右边缘固定到 UIImageView
的约束,因为这将隐式地为自动布局提供标签的固定宽度。
- 在
UILabel
和 UIImageView
之间添加一个 "Equal Widths" 约束。这可以通过按住控制键从标签拖动到 Storyboard 中的图像视图并从出现的菜单中选择 "Equal Widths" 来实现。
- Select 图片视图的标签。再次打开 "Size Inspector",双击对应于您刚刚创建的约束的框。在 "Relation" 下拉菜单中,选择 "Less Than or Equal"。
这将导致 UILabel
根据其中绘制的文本的宽度动态更改其宽度。当你设置 backgroundColor
属性 时,它仍然会填充标签,只会显示在文本后面。等宽约束将确保标签的宽度永远不会超过图像视图的宽度。
我已经通过故事板中视图控制器的属性选项卡设置了 backgroundColor
。但是我只想在标签中填充的文本长度中显示背景颜色,而不是在整个可能的长度中。
我无法附上任何图片,所以这是我想要的:
请尝试以下步骤:
- Select 情节提要中的
UILabel
。 - 打开"Size Inspector."
- 在 "Label" 部分,确保取消选中 "Explicit"。
- 在 "Constraints," 的列表中,确保没有约束提供宽度 属性 的值。此外,删除任何将
UILabel
的右边缘固定到UIImageView
的约束,因为这将隐式地为自动布局提供标签的固定宽度。 - 在
UILabel
和UIImageView
之间添加一个 "Equal Widths" 约束。这可以通过按住控制键从标签拖动到 Storyboard 中的图像视图并从出现的菜单中选择 "Equal Widths" 来实现。 - Select 图片视图的标签。再次打开 "Size Inspector",双击对应于您刚刚创建的约束的框。在 "Relation" 下拉菜单中,选择 "Less Than or Equal"。
这将导致 UILabel
根据其中绘制的文本的宽度动态更改其宽度。当你设置 backgroundColor
属性 时,它仍然会填充标签,只会显示在文本后面。等宽约束将确保标签的宽度永远不会超过图像视图的宽度。