You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:13:45