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

如何利用iOS API检测设备是否开启粗体文本功能?

检测iOS粗体文本开启状态的API方案
  • 直接获取系统开关状态:使用UIAccessibility.isBoldTextEnabled类属性,iOS 7及以上系统均支持,它会直接返回用户是否在系统设置中开启了粗体文本功能。

  • 监听状态实时变化:若需要在用户切换粗体开关时即时调整布局,可以注册UIAccessibilityBoldTextStatusDidChangeNotification通知,状态变更时自动触发布局调整逻辑。

简单代码示例:

// 检测当前粗体文本状态
let isBoldEnabled = UIAccessibility.isBoldTextEnabled

// 注册状态变化通知
NotificationCenter.default.addObserver(
    self,
    selector: #selector(adjustLayoutForBoldText),
    name: UIAccessibilityBoldTextStatusDidChangeNotification,
    object: nil
)

@objc func adjustLayoutForBoldText() {
    let currentBoldStatus = UIAccessibility.isBoldTextEnabled
    // 在这里执行你的缩放调整逻辑,比如更新CGAffineTransform
}

另外,如果需要结合当前使用的字体判断是否应用了粗体,也可以通过UIFontDescriptor的symbolicTraits检查:

let targetFont = UIFont.preferredFont(forTextStyle: .body)
let isFontBold = targetFont.fontDescriptor.symbolicTraits.contains(.traitBold)

不过这种方式更适合判断特定字体的粗体属性,直接使用UIAccessibility.isBoldTextEnabled更直接对应系统的粗体文本全局设置。

内容的提问来源于stack exchange,提问作者vonlost

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:34:53