如何在Swift中为我的标签添加轮廓?

时间:2018-05-03 11:29:46

标签: ios swift xcode label outline

我是Stackoverflow的新手 我目前正在使用XCode for iOS开发移动应用程序 但是,我正在设置为我的标签添加白色轮廓/笔划,但我不知道热到。我试过搜索这些论坛但在swift中找不到任何解决方案 我尝试过使用shadow属性,但这并不令人满意 如何在Swift中为我的标签添加轮廓?
编辑:文本应该与此图片中的文字类似:http://cf.chucklesnetwork.com/items/7/5/7/4/4/original/yo-dawg-i-heard-you-like-captions-so-i-put-captions-of-captions.jpg

4 个答案:

答案 0 :(得分:5)

您需要使用NSAttributedString,设置strokeColorstrokeWidth来设置大纲,foregroundColor来设置文字颜色。试试这个:

let attrString = NSAttributedString(string: "Write Something with Outline", attributes: [NSAttributedStringKey.strokeColor: UIColor.black, NSAttributedStringKey.foregroundColor: UIColor.white, NSAttributedStringKey.strokeWidth: -2.0, NSAttributedStringKey.font: UIFont.systemFont(ofSize: 17.0)])
yourLabel.attributedText = attrString

这将如下所示:

enter image description here

答案 1 :(得分:0)

您可以使用以下代码为标签添加边框线。

 yourlabel.layer.borderWidth = 2
 yourlabel.layer.borderColor  = .red

答案 2 :(得分:0)

label.layer.borderWidth = width
label.layer.borderColor =UIColor.red.cgColor
label.clipsToBounds = true
label.layer.cornerRadius = radius // for round border
label.clipsToBounds = true

答案 3 :(得分:0)

您可以使用此 OutlinedLabel。与大多数示例不同,它实际上概述了文本。 您甚至可以渐变轮廓。

只需设置轮廓颜色和线宽:

label.outlineColor = .white
label.outlineWidth = 7

这看起来像 this