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

时间:2015-06-24 18:56:24

标签: ios swift uilabel

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

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

1 个答案:

答案 0 :(得分:2)

请尝试以下步骤:

  1. 在故事板中选择UILabel
  2. 打开"尺寸检查器。"
  3. 在"标签"部分,确保"明确"未经检查。
  4. 在"约束列表中,"确保没有约束为width属性提供值。此外,删除将UILabel的右边缘固定到UIImageView的任何约束,因为这会隐式地为自动布局提供标签的固定宽度。
  5. 添加"等宽度" UILabelUIImageView之间的约束。这可以通过控制从标签中的标签拖动到图像视图并选择" Equal Widths"来实现。从显示的菜单中。
  6. 选择图像视图的标签。打开"尺寸检查器"再次双击与刚刚创建的约束对应的框。在"关系"下拉菜单,选择"小于或等于"。
  7. 这将导致UILabel动态更改其宽度,具体取决于其中绘制的文本的宽度。当您设置backgroundColor属性时,它仍将填充标签,仅显示在文本后面。 “等宽”约束将确保标签的宽度不会超过图像视图的宽度。