本篇文章为大家展示了如何在iOS中设置字体,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
1 默认方式
这种方式就是正常的字体设置方式
label.font = [UIFont fontwithname:@”Blazed” size:42];
至于第一个参数的名字,可以通过以下方法输出所有字体名字列表
[UIFont familyNames]
只要名字列表中存在的,都可以用这种方式关联到对应的字体上。
2 绑定自定义的字体包
其实第二种方式和第一种方式在代码上是一样的,依旧是通过名字设置字体
label.font = [UIFont fontwithname:@”Blazed” size:42];
只是要想使用往上下载的字体文件,先将字体文件加到系统的字体目录中。
具体操作如下:
1 下载目标的字体文件并添加到工程中,名字为fontTest.ttf
2 在info.plist中,添加 Fonts provided by application 项, 打开对应的数组,可以设置多个字体,在Item0中 输入fontTest.ttf。
这个时候再执行[UIFont familyNames],新加的字体就存在于列表中,那么直接设置名字就可以设置上字体了。
3 通过CoreText绑定字体
第二种方式基本基本就可以满足大部分的需求,只有一个问题,就是字体包大小不一定,几十兆到几百兆不等,随着其他资源包一起打进ipa会让包变得很大,尤其是有的业务需要很多的字体包,那么肯定是需要动态网络下载的,这个动态下载的字体文件目前苹果开放的接口是无法动态添加配置信息到info.plist的。这个时候就需要CoreText接口动态绑定到内存中。
当然,这里需要引入CoreText框架
#import < CoreText/CoreText.h> +(UIFont*)doGetCustomFontWithPath:(NSString*)path size:(CGFloat)size { if (!path) { return [UIFont systemFontOfSize:21]; } // NSString *path3 = [path stringByAppendingString:@"1"]; NSURL *fontUrl = [NSURL fileURLWithPath:path]; // [[NSFileManager defaultManager] copyItemAtPath:path toPath:path3 error:nil]; CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)fontUrl); CGFontRef fontRef = CGFontCreateWithDataProvider(fontDataProvider); CGDataProviderRelease(fontDataProvider); CTFontManagerRegisterGraphicsFont(fontRef, NULL); NSString *fontName = CFBridgingRelease(CGFontCopyPostScriptName(fontRef)); UIFont *font = [UIFont fontWithName:fontName size:size]; CGFontRelease(fontRef); return font; }
上述内容就是如何在iOS中设置字体,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联网站建设公司行业资讯频道。
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:如何在iOS中设置字体-创新互联
链接URL:https://www.cdcxhl.com/article40/deogeo.html
成都网站建设公司_创新互联,为您提供小程序开发、品牌网站制作、网页设计公司、网站策划、外贸网站建设、网站设计公司
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联