只要文本是,就在 UILabel 中显示背景颜色

Show background color in UILabel only as long as the text is

我已经通过故事板中视图控制器的属性选项卡设置了 backgroundColor。但是我只想在标签中填充的文本长度中显示背景颜色,而不是在整个可能的长度中。

我无法附上任何图片,所以这是我想要的:

请尝试以下步骤:

  1. Select 情节提要中的 UILabel
  2. 打开"Size Inspector."
  3. 在 "Label" 部分,确保取消选中 "Explicit"。
  4. 在 "Constraints," 的列表中,确保没有约束提供宽度 属性 的值。此外,删除任何将 UILabel 的右边缘固定到 UIImageView 的约束,因为这将隐式地为自动布局提供标签的固定宽度。
  5. UILabelUIImageView 之间添加一个 "Equal Widths" 约束。这可以通过按住控制键从标签拖动到 Storyboard 中的图像视图并从出现的菜单中选择 "Equal Widths" 来实现。
  6. Select 图片视图的标签。再次打开 "Size Inspector",双击对应于您刚刚创建的约束的框。在 "Relation" 下拉菜单中,选择 "Less Than or Equal"。

这将导致 UILabel 根据其中绘制的文本的宽度动态更改其宽度。当你设置 backgroundColor 属性 时,它仍然会填充标签,只会显示在文本后面。等宽约束将确保标签的宽度永远不会超过图像视图的宽度。