我可以将一个标签固定在另一个标签内以创建边框吗?
Posted
技术标签:
【中文标题】我可以将一个标签固定在另一个标签内以创建边框吗?【英文标题】:Can I pin a label inside another label to create a border? 【发布时间】:2015-12-26 02:34:03 【问题描述】:为了创建边框效果,我想用例如以下常量将一个标签固定在另一个标签内:
up - 5
left - 5
right - 5
down - 5
这会给我一个围绕内部标签的 5 点边框。这可能吗?如果是这样,我该如何做到这一点?或者有没有更好的方法在文本标签周围创建边框?
【问题讨论】:
能否请你把它画在纸上并附上它的快照。 【参考方案1】:对于您的特定需求,我建议使用以下代码在 UILabel
本身上使用边框:
label.layer.borderColor = UIColor.blackColor().CGColor
label.layer.borderWidth = 1
或 Objective-C:
[label layer].borderColor = [[UIColor blackColor] CGColor];
[label layer].borderWidth = 2;
作为对您对另一个答案的评论的回应:
当您将一个视图固定到情节提要中的另一个视图时,它只会创建一个带有它猜测为您想要的参数的视图。通常这是正确的,但如果您需要对其链接的属性进行更细粒度的控制,您可以选择约束,并在检查器中更改它的所有属性(第一项和第二项除外):
但我建议不要使用UILabel
,只是为了设置背景。如果您确实需要在标签后面使用视图,请使用简单的UIView
,这样 ios 就不必计算字母间距等并保留有关标签文本的信息。标签与空视图的这一实例可能没有区别,但开发人员应始终致力于明智地使用内存和 CPU。
【讨论】:
非常感谢您花时间和精力为我解释和澄清这一点,因为它真的很有帮助!我同意您的第一个解决方案,即以编程方式设置属性是最佳途径。我的代码最终是: label.layer.borderColor = UIColor.blackColor().CGColor label.layer.borderWidth = 1 再次感谢您指出我正确的方向;我怀疑我的问题有一个简单的解决方案。 @SillyGoof 没问题,如果正确,请务必标记答案,如果您喜欢,请点赞!很高兴我能帮上忙!【参考方案2】:如果您的应用程序是基于情节提要的,那么您可以选择以下方法。简单地拖入图像并将其放在标签后面。只需将图像设置为您喜欢的任何样式边框即可。如果要将图片放在标签的前面,请确保图片中间透明。
对于像边框这样简单的东西,您不需要任何照片编辑软件,您可以使用 Microsoft Powerpoint 之类的工具。祝你好运,希望这会有所帮助!
【讨论】:
是的,我正在使用故事板进行布局。第一个较大的标签是纯色的空白,第二个较小的标签是具有不同颜色和标题的文本标签。当我尝试从较小的标签控制拖动到大标签时,它只给了我将前缘和后缘固定到外部标签的选项,即使这样也不能正常工作。以上是关于我可以将一个标签固定在另一个标签内以创建边框吗?的主要内容,如果未能解决你的问题,请参考以下文章