美文网首页
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