首页 > 解决方案 > 如何检测NSAttributedString中的字体是否为系统字体

问题描述

有一个扩展函数用于检测 NSAttributedString 中的字体是否为系统字体:

extension NSAttributedString
{
    func isSystemFont(at: Int) -> Bool
    {
        guard let font = self.attribute(NSAttributedString.Key.font, at: at, effectiveRange: nil) as? UIFont else
        {
            print(font.fontName) // PingFangSC
        }
    }
}

我想要的是?

我希望这个函数可以返回是否'regularSystemFont',而不是'boldSystemFont'或'blackSystemFont',所以“姓氏”标识没有用。

我做了什么?

所以我打算font.fontNameUIFont.systemFont(ofSize: 10).fontName But font.fontNamehas returnedPingFangSC-Regular在运行时进行比较,并且UIFont.systemFont(ofSize: 10).fontNamehas returned .SFUI-Regular,所以这种方式没有用。

标签: iosswiftfonts

解决方案


推荐阅读