iOS加载动态自定义字体

iOS加载动态自定义字体

  NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;

    NSLog(@"源文件目录: %@", cachePath);

    NSString * fontPath = [NSString stringWithFormat:@"%@/%@",cachePath, @"xxx.ttf"];

    CGDataProviderRef fontDataProvider = CGDataProviderCreateWithFilename([fontPath UTF8String]);

    CGFontRef customfont = CGFontCreateWithDataProvider(fontDataProvider);

    CGDataProviderRelease(fontDataProvider);

    NSString *fontName = (__bridge NSString *)CGFontCopyFullName(customfont);

    CFErrorRef error;

    CTFontManagerRegisterGraphicsFont(customfont, &error);

    if (error){

        // 为了可以重复注册

        CTFontManagerUnregisterGraphicsFont(customfont, &error);

        CTFontManagerRegisterGraphicsFont(customfont, &error);

    }

    CGFontRelease(customfont);

    UIFont *font = [UIFont fontWithName:fontName size:28];

 

posted @   kawerd  阅读(363)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示