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

时间:2015-12-26 02:34:03

标签: ios xcode swift autolayout uilabel

为了创建边框效果,我想将一个标签固定在另一个标签中,例如,以下常量:

up - 5
left - 5
right - 5
down - 5

这会给我一个围绕内部标签的5点边框。这可能吗?如果是这样,我该如何实现?或者是否有更好的方法在文本标签周围创建边框?

2 个答案:

答案 0 :(得分:2)

根据您的具体需求,我建议您使用以下代码在UILabel本身上使用边框:

label.layer.borderColor = UIColor.blackColor().CGColor
label.layer.borderWidth = 1

或Objective-C:

[label layer].borderColor = [[UIColor blackColor] CGColor];
[label layer].borderWidth = 2;

作为对你对其他答案的评论的回应:

当您将视图固定到故事板中的另一个视图时,它只会创建一个视图,其中包含您猜测的参数。通常这是正确的,但是如果你需要对它链接的属性进行更细粒度的控制,你可以选择约束,并在检查器中更改它的所有属性(第一和第二项除外):

enter image description here enter image description here

但我建议不要使用UILabel,只是为了设置背景。如果您确实需要使用标签后面的视图,请使用简单的UIView,以便iOS不必计算字母间距等,并保留有关标签文本的信息。这个标签与空视图的一个实例可能没什么区别,但开发人员应该始终致力于明智地使用他们的内存和CPU。

答案 1 :(得分:0)

如果您的应用程序是基于故事板的,那么您可以选择以下选项。简单拖动图像并将其放在标签后面。只需将图像设置为您喜欢的任何样式边框。如果要将图像放在标签前面,请确保使图像的中间透明。

对于像边框这样简单的东西,你不需要任何照片编辑软件,你可以使用像Microsoft Powerpoint这样的东西。祝你好运,希望这有帮助!