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 @ 2022-01-11 16:36  kawerd  阅读(354)  评论(0编辑  收藏  举报