我已经通过 Storyboard 中 View Controller 的属性选项卡设置了 backgroundColor
。但我只想在填充到标签中的文本长度中显示背景颜色,而不是在整个可能的长度中。
我无法附加任何图像,所以这是我想要的:
最佳答案
尝试以下步骤:
- 在 Storyboard 中选择
UILabel
。 - 打开“尺寸检查器”。
- 在“标签”部分中,确保取消选中“显式”。
- 在“约束”列表中,确保没有约束为宽度属性提供值。另外,请删除将
UILabel
的右边缘固定到UIImageView
的任何约束,因为这将隐式为自动布局提供固定的标签宽度。 - 在
UILabel
和UIImageView
之间添加“等宽度”约束。这可以通过按住 Control 键从标签拖动到 Storyboard 中的 ImageView 并从出现的菜单中选择“等宽度”来实现。 - 选择 ImageView 的标签。再次打开“大小检查器”,双击与您刚刚创建的约束相对应的框。在“关系”下拉菜单中,选择“小于或等于”。
这将导致 UILabel
根据在其中绘制的文本的宽度动态更改其宽度。当您设置 backgroundColor
属性时,它仍然会填充标签,仅显示在文本后面。等宽度约束将确保标签的宽度永远不会超过 ImageView 的宽度。
关于ios - 仅当文本是时才在 UILabel 中显示背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31034741/