美文网首页
iOS 13 CoreText performance note

iOS 13 CoreText performance note

作者: 流年划过颜夕 | 来源:发表于2019-11-12 10:11 被阅读0次
在iOS13中发现使用Coretext,日志中会出现CoreText performance note,甚至抛出异常: 字体.png

原因应该是Apple为了提升性能升级了底层的字体,导致以前的字体不匹配,所以要成功调用对应的Api,需要按照上诉日志中的提示进行对应的适配。

具体做法如下:
1.通过set a breakpoint定位到源码出现问题的地方
2.将".SFUI-Regular"替换为"TimesNewRomanPSMT",进行调用

    NSString *name =self.font.fontName;
    if ([name isEqualToString:@".SFUI-Regular"]) {
        name = @"TimesNewRomanPSMT";
    }
    CTFontRef fontRef = CTFontCreateWithName((CFStringRef)name, self.font.pointSize, NULL);
    if (fontRef)
    {
        _fontAscent     = CTFontGetAscent(fontRef);
        _fontDescent    = CTFontGetDescent(fontRef);
        _fontHeight     = CTFontGetSize(fontRef);
        CFRelease(fontRef);
    }

以上

相关文章

网友评论

      本文标题:iOS 13 CoreText performance note

      本文链接:https://www.haomeiwen.com/subject/tijfictx.html