iOS 自定义字体

简介: 引言: 看腻了清一色默认的App字体,换一个个性化体验也是不错的选择. 参考: http://www.16kan.com/post/218270.

引言:

看腻了清一色默认的App字体,换一个个性化体验也是不错的选择.


参考:

http://www.16kan.com/post/218270.html

http://blog.csdn.net/frankwun/article/details/7688950


字体在哪?

Mac 有一款自带App叫做字体册.  打开这个应用以后,可以看到目前内置在系统中的字体,iOS支持显示的格式有两种,分别是otfttf.

首选是otf



如何配置?

第一步:

将要使用的字体拖动到项目中.

第二步:

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



如何使用?

使用时要注意,字体文件名称,并非真正使用时的名称.

真正的名称在字体册的查看某一字体的详细参数时可以看到.如下图:



或者根据字体文件在应用中的路径通过代码来获得(不是特别准,可能偶尔需要手动调整):

NSString *fontPath = [[NSBundle mainBundle] pathForResource:fontFileNameArray[i] ofType:nil];
NSURL *url = [NSURL fileURLWithPath:fontPath];

CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)url);
if (fontDataProvider == NULL)
{
    break;
}

CGFontRef newFont = CGFontCreateWithDataProvider(fontDataProvider);
CGDataProviderRelease(fontDataProvider);
if (newFont == NULL)
{
    break;
}
CFStringRef fontName = CGFontCopyFullName(newFont);

NSString *fontNameString = (__bridge id)(fontName);
if ([fontNameString isEqualToString:@"Yuppy SC Regular"]) {
    fontNameString = @"YuppySC-Regular";
}
[fontNameMDic setObject:fontNameString forKey:fontFileNameArray[i]];

CFRelease(fontName);
CGFontRelease(newFont);

以下代码可以遍历出目前在iOS系统中可以使用的字体名称

NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for(indFamily=0;indFamily<[familyNames count];++indFamily)
{
    NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
    fontNames =[[NSArray alloc]initWithArray:[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indFamily]]];
    for(indFont=0; indFont<[fontNames count]; ++indFont)
    {
        NSLog(@" Font name: %@",[fontNames objectAtIndex:indFont]);
    }
}


总结:

唯一不好处是字体的数据包很占用App的体积. 这个问题,有待解决.


 

目录
相关文章
|
iOS开发
iOS TextView插入表情或者图片后字体变大或变小
iOS TextView插入表情或者图片后字体变大或变小
121 1
|
7月前
|
iOS开发 UED
实现一个自定义的iOS动画效果
【4月更文挑战第9天】本文将详细介绍如何在iOS平台上实现一个自定义的动画效果。我们将通过使用Core Animation框架来实现这个动画效果,并展示如何在不同的场景中使用它。文章的目标是帮助读者理解如何使用Core Animation框架来创建自定义动画,并提供一个简单的示例代码。
66 1
|
1月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
59 1
|
2月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
62 5
|
2月前
|
Swift iOS开发 UED
实现一个自定义的iOS动画效果
本文介绍如何使用Swift和UIKit在iOS应用中实现一个自定义按钮动画,当按钮被点击时,其颜色从蓝色渐变为绿色,形状从圆形变为椭圆形,释放后恢复原状。通过UIView动画方法实现这一效果,代码示例展示了动画的平滑过渡和状态切换,有助于提升应用的视觉体验和用户交互。
59 1
|
3月前
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
71 11
|
4月前
|
Swift iOS开发 UED
【绝妙创意】颠覆你的视觉体验!揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【8月更文挑战第13天】本文通过一个具体案例,介绍如何使用Swift与UIKit在iOS应用中创建独特的按钮动画效果。当按钮被按下时,其形状从圆形变化为椭圆形,颜色则从蓝色渐变为绿色;释放后,动画反向恢复原状。利用UIView动画方法及弹簧动画效果,实现了平滑自然的过渡。通过调整参数,开发者可以进一步优化动画体验,增强应用的互动性和视觉吸引力。
61 7
|
7月前
|
Web App开发 编解码 iOS开发
iOS字体像素与磅的对应关系
iOS字体像素与磅的对应关系
132 1
|
iOS开发
iOS多线程之NSOperationQueue-依赖、并发数、优先级、自定义Operation等最全的使用总结
iOS多线程之NSOperationQueue-依赖、并发数、优先级、自定义Operation等最全的使用总结
511 0
|
iOS开发
iOS开发中使用第三方静态字体
iOS开发中使用第三方静态字体