如何修改UIButton的titleLabel字体粗细?已设置字体名称及大小
调整SF UI Display字体粗细的方法
嘿,这个问题我太熟悉啦!你现在用self.titleLabel?.font = UIFont(name: "SF UI Display", size: 30)设置字体时,默认调用的是Medium字重,要改成Regular其实很简单——只要在字体名称后面加上对应的字重后缀就行。
修改后的代码
直接把字体名称改成带-Regular后缀的版本:
self.titleLabel?.font = UIFont(name: "SF UI Display-Regular", size: 30)
补充说明:SF系列字体的命名规则
SF UI Display的不同字重对应不同的名称后缀,常见的有这些:
SF UI Display-Regular:常规(Regular)SF UI Display-Medium:中等(Medium,也就是你当前的默认值)SF UI Display-Bold:粗体SF UI Display-Light:轻量SF UI Display-Thin:极细
如果不确定某个字重的准确名称,你可以用这段代码打印出所有可用的SF字体名称:
for familyName in UIFont.familyNames { if familyName.contains("SF UI Display") { print("Family: \(familyName)") for fontName in UIFont.fontNames(forFamilyName: familyName) { print(" Font: \(fontName)") } } }
另外,设置UIButton标题字体还有一种更规范的方式,用setTitleFont(_:for:)方法,效果是一样的:
self.setTitleFont(UIFont(name: "SF UI Display-Regular", size: 30), for: .normal)
这样就能轻松把字体粗细从Medium改成Regular啦!
内容的提问来源于stack exchange,提问作者Sean
相关产品推荐
相关产品推荐

