我可以将一个标签固定在另一个标签内以创建边框吗?

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 之类的工具。祝你好运,希望这会有所帮助!

【讨论】:

是的,我正在使用故事板进行布局。第一个较大的标签是纯色的空白,第二个较小的标签是具有不同颜色和标题的文本标签。当我尝试从较小的标签控制拖动到大标签时,它只给了我将前缘和后缘固定到外部标签的选项,即使这样也不能正常工作。

以上是关于我可以将一个标签固定在另一个标签内以创建边框吗?的主要内容,如果未能解决你的问题,请参考以下文章

WatchKit 为标签添加边距

如何在iOS中显示两个一个标签文本?

如何在输入标签中添加边距[重复]

在 webkit 中的选择标签上,边框半径超过 1px

如何让一个div悬浮在另一个div上面,在线等

Bump 版本并从一个分支发布包,但将标签保留在另一个分支中