美文网首页iOS开发技术分享
iOS使用自定义字体

iOS使用自定义字体

作者: 喵子G | 来源:发表于2017-02-24 18:47 被阅读754次

要添加自定义字体,首先是要有字体库资源,XXX.ttf 这种字体库文件,要是没有的话,可以去网上下载一下,大多都是收费的,也有一些免费的可以下载,这里我用的是我在网上下载的AaQingCong.ttf。这里自定义字体最大的问题就是找不到对应的字体库,不能够完全按照自己的需求自定义字体。

首先下载字体库,然后把自己库托到项目里:


ranh

接下来在 info.plist 中添加 Fonts provided by application - AaQingCong.ttf


WX20170224-183409.png
最后在TARGETS-Build Phases-Copy Bundle Resources 添加字体库文件:
WX20170224-183630.png

现在字体库就成功添加了,要使用特定体字代码如下:

cell.textLabel.font = [UIFont fontWithName:@"XXX" size:18];

至于自己添加的字体库的名字叫什么这个并不能看字体库的文件名来判断,我是通过一个小Demo,遍历所有的字体,把它们的英文和汉子字体效果都展示出来,找到自己添加的:


WX20170224-184121.png

如图,这个就是我刚刚添加的自定义字体,系统的默认字体,汉子除了粗细之外都没有别的字体变化。
获取所有字体代码如下:

// 自定义字体Family模型
@interface JKRFontFamily : NSObject

@property (nonatomic, copy) NSString *familyName;                 /// familyName
@property (nonatomic, strong) NSArray<NSString *> *fontNames;     /// 该family下所有字体的名字

@end

// 获取所有的字体
- (void)loadData {
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        for (NSString *familyName in [UIFont familyNames]) {
            JKRFontFamily *family = [[JKRFontFamily alloc] init];
            family.familyName = familyName;
            family.fontNames = [UIFont fontNamesForFamilyName:familyName];
            [_fontFamilies addObject:family];
        }
        dispatch_async(dispatch_get_main_queue(), ^{
            [_tableView reloadData];
        });
    });
}

//用tableView展示,每个section是一个family
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return self.fontFamilies.count;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.fontFamilies[section].fontNames.count;
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    return self.fontFamilies[section].familyName;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.textLabel.font = [UIFont fontWithName:self.fontFamilies[indexPath.section].fontNames[indexPath.row] size:18];
    cell.textLabel.text = [NSString stringWithFormat:@"字体展示/Font show:%@", self.fontFamilies[indexPath.section].fontNames[indexPath.row]];
    return cell;
}

相关文章

  • iOS在项目中使用自定义字体

    iOS 自定义字体是指,使用自己从外部导入的字体库使用在对应的文本显示中。 一般的iOS自定义的字体库是 .ttf...

  • 动态注册字体

    项目中如果只是使用几种固定的字体,可以本地添加自定义字体,可以参考iOS加入自定义字体库[https://www....

  • iOS开发常用设置

    目录:[TOC]妈呀,怎么还不支持目录语法呢!!!@简叔 一、UI类 1、自定义字体使用   iOS自定义字体支持...

  • React Native iOS端 使用自定义字体时Unreco

    React Native iOS端 使用自定义字体时Unrecognized font family 解决方法:看...

  • (iOS - Objective-C ) UIFont - 自定

    2018.9.19 参考:iOS使用自定义字体的方法(内置和任意下载ttf\otf\ttc字体文件) 没办法,就是...

  • iOS开发之自定义字体

    iOS 开发中文字默认使用的是系统的字体,但如果需要自定义字体,方法也很简单。 实现步骤 下载需要的字体,并将字体...

  • Xcode如何使用字体文件

    iOS开发中系统自带的字体不能满足需求,需要自定义字体,应该怎么做呢?手把手教你使用 1.拿到下载到的字体文件,拖...

  • 十九、Expo 使用自定义字体

    使用自定义字体 iOS和Android都有自己的平台字体集,但如果你想在你的应用中注入更多的品牌个性,那么选择好的...

  • iOS添加自定义字体详解

    问题:iOS中是如何使用自定义字体的?字体是软件开发中个性化的一个重要元素,系统自带了很多丰富的字体,但有时候并不...

  • iOS App导入自定义字体

    原文iOS App导入自定义字体 需求 iOS项目中需要导入第三方字体,来进行显示字体样式。 实现方法 1 先找到...

网友评论

    本文标题:iOS使用自定义字体

    本文链接:https://www.haomeiwen.com/subject/pjwwwttx.html