现在的位置: 首页 > 综合 > 正文

iOS使用自定义字体 两种方法

2018年02月13日 ⁄ 综合 ⁄ 共 1230字 ⁄ 字号 评论关闭

iOS使用自定义字体

2012-9-18 09:05| 发布者: benben| 查看:
281| 评论: 0

摘要: 准备:你的自定义字体文件-〉ttf,odf字体文件。现在网上一般下的中文字体文件都是ttc格式的,这个需要转换一下,网上有很多转换工具,不过都是windows下面的。(ttc就是多个ttf压在一起形成的)使用:1.加入工程中2 ...

准备:你的自定义字体文件-〉ttf,odf字体文件。

现在网上一般下的中文字体文件都是ttc格式的,这个需要转换一下,网上有很多转换工具,不过都是windows下面的。(ttc就是多个ttf压在一起形成的)

使用

1.加入工程中

2.得到UIFont来使用

方法一:

Info.plist中添加Fonts provided by application项,加入一个item值为刚刚添加的字体文件文件名。

如果不知道这个字体的FontName,可以使用Mac OS中的 字体册 程序查看。

[textField setFont:[UIFont fontWithName:@"Amelia BT" size:12]];

方法二:

直接使用代码来获取UIFont

-(UIFont*)customFont{// 你的字体路径    NSString *fontPath = [[NSBundle mainBundle] pathForResource:@"Amelia BT" ofType:@"ttf"];        NSURL *url = [NSURL fileURLWithPath:fontPath];        CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)url);    if (fontDataProvider == NULL)        return nil;    CGFontRef newFont = CGFontCreateWithDataProvider(fontDataProvider);    CGDataProviderRelease(fontDataProvider);    if (newFont == NULL) return nil;        NSString *fontName = (__bridge NSString *)CGFontCopyFullName(newFont);    UIFont *font = [UIFont fontWithName:fontName size:12];        CGFontRelease(newFont);        return font;}

 

修正:

1.方法二中如果要使用UIFont,那么 不添加 Fonts provided by application项是不可以的。如果仅仅使用

CGFontRef,那么可以不添加。
2.测试中没有一次用ttc提取的ttf成功改变字体(中文的),但是下载的源文件就是ttf的都成功更改了字体。

转自:http://blog.csdn.net/xcysuccess3/article/details/8088880

抱歉!评论已关闭.