在Swift中将UILabel变为粗体
我有一个UILabel
通过编程方式制作的:
var label = UILabel()
然后,我为标签声明了一些样式,包括字体,例如:
label.frame = CGRect(x: 20, y: myHeaderView.frame.height / 2, width: 300, height: 30)label.font = UIFont(name: "Typo GeoSlab Regular Demo", size: 15)
label.textColor = UIColor(hue: 0/360, saturation: 0/100, brightness: 91/100, alpha: 1)
标签的第一部分将始终显示为:"Filter:"
然后是字符串的另一部分,例如“ Most Popular”
我希望过滤器一词以粗体显示,因此整个过程看起来像:
最受欢迎
我想以最简单的方法来创建这种效果。我一直在互联网上寻找如何实现这一目标的方法,而且有很多方法,有些方法看起来像是代码页。而且大多数似乎在Objective-
C中。我想要在Swift中:)
我不知道我在正确的路线上,但这NSRange
可以帮助实现目标吗?提前致谢
我使用一系列if
语句来更改我的label
变量。如:
if indexArray == 1 { label.text = "Filter: Film name"
} else if indexArray == 2 {
label.text = "Filter: Most popular"
} else if indexArray == 3 {
label.text = "Filter: Star rating"
}
回答:
您将需要使用attributedString
它来设置字符串等的样式。可以通过具有两种样式(一种是普通样式,一种是粗体样式),然后将它们附加在一起来完成此操作:
let boldText = "Filter:"let attrs = [NSAttributedString.Key.font : UIFont.boldSystemFont(ofSize: 15)]
let attributedString = NSMutableAttributedString(string:boldText, attributes:attrs)
let normalText = "Hi am normal"
let normalString = NSMutableAttributedString(string:normalText)
attributedString.append(normalString)
要将其分配给标签时:
label.attributedText = attributedString
以上是 在Swift中将UILabel变为粗体 的全部内容, 来源链接: utcz.com/qa/431078.html