【发布时间】:2014-02-05 16:21:00
【问题描述】:
我正在构建一个屏幕来扫描条形码,我需要在一些 UILabels 后面放置一个半透明屏幕以提高在浅色背景下的可见度。
现在的屏幕是这样的:
我在UILabel 上设置背景颜色以获取半透明框。我还创建了一个自定义 UILabel 子类,以允许我在 UILabel 的边缘和使用 this approach 的文本之间设置一些填充。
正如您在上面的屏幕中看到的,UILabel 没有正确调整大小以考虑填充。 “填充”只是在不改变标签宽度的情况下移动文本,导致文本被截断。
这两个标签都将包含任意长度的文本,我真的需要UILabel 来动态调整大小。
我可以重写什么UILabel 方法来增加标签的宽度并考虑填充?
【问题讨论】:
-
这是如何加载的?如果您使用的是故事板,您是否使用它加载了此标签?如果你这样做了,你有没有给这个标签添加任何约束并将大小设置为一个常数?
-
好问题。这个视图完全是用代码构建的。我使用约束来布局屏幕,标签上唯一的约束设置屏幕上的位置,而不是标签的大小。
-
好的,这很可能只是文本太长的问题。我想说只是让标签完全变宽,甚至根据文本在其中的长度调整标签的宽度
-
根据文本长度调整标签的宽度正是我所追求的,但是在 UILabel 之外计算是愚蠢的。我希望了解我可以重写什么 UILabel 方法来重新计算标签的大小以合并填充。