iOS自定义字体及类目

1:获取字体文件

从各种渠道下载字体文件ttf, 网站或者从别的ipa里扣出来.(以fzltxh.ttf为例)

2:将fzltxh.ttf文件拷贝到工程中

3:在Info.plist中添加项:

Fonts provided by application(UIAppFonts)  可以添加一个或多个item,

如 item0 --  fzltxh.ttf

4:找出真正的字体名称:

因为使用字体时, 要使用字体的真实名称, 而不是文件名, 可以用以下代码来遍历当前设备可用的字体名称,

再从中找出刚才添加的字体真实名称.

    NSArray *familyNames = [UIFont familyNames];
    for( NSString *familyName in familyNames )
    {
        printf( "Family: %s \n", [familyName UTF8String]);

        NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
        for( NSString *fontName in fontNames )
        {
            printf( "\tFont: %s \n", [fontName UTF8String] );
        }
    }

  

FZLTXHK--GBK1-0  这个就是此字体的真实使用名称.

5:使用字体

[UIFont fontWithName:@"FZLTXHK--GBK1-0" size:fontSize];

  

6:统一替换

如果想把旧工程的字体整体替换掉, 又不想改动已有代码, 可以重写

systemFontOfSize 方法.

//
//  UIFont+custom.h
//  TuJing
//
//  Created by willbin on 15/1/13.
//  Copyright (c) 2015年 willbin. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIFont (TJCustom)

+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;

@end
//
//  UIFont+custom.m
//  TuJing
//
//  Created by willbin on 15/1/13.
//  Copyright (c) 2015年 willbin. All rights reserved.
//

#import "UIFont+custom.h"

@implementation UIFont (TJCustom)

+ (UIFont *)systemFontOfSize:(CGFloat)fontSize
{
    return [UIFont fontWithName:@"FZLTXHK--GBK1-0" size:fontSize];
}

@end

  

这样的话, 原先写的

systemFontOfSize 方法都会用新方法代替, 从而实现整体替换的效果.

时间: 2024-10-13 15:14:59

iOS自定义字体及类目的相关文章

iOS自定义字体

从本地读取字体 并注册 读取方法一 : + (instancetype)customFont:(CGFloat)fontSize { NSString *fontPath = [[NSBundle mainBundle]pathForResource:@"regular" ofType:@"otf"]; NSData *dynamicFontData = [NSData dataWithContentsOfFile:fontPath]; if (!dynamicFo

iOS 自定义字体设置

有时候客户都要求使用方正兰亭刊黑字体,可是iOS没有自带这个字体,肿么办 ,只能自己自定义字体了,下面是自定义字体的几个重要步骤: 1.下载字体资源文件(.ttf或.otf格式的文件) 比如说你要使用方正兰亭刊黑字体,就需要下载方正兰亭刊黑字体文件. 需要注意的是,.otf格式的文件只能在iOS5之后才能使用,所以假如你的系统需要在iOS5.0之前的版本中使用的话,最好使用.ttf格式的字体文件 2.在info.plist中添加字体配置 将下载的字体文件添加到工程中,同时在info.plist文

iOS基础知识:类目、延展

一 .类目: 为已存在的类添加新的方法.但是不能添加实例变量. 应用:1.对现有的类进行扩展,如:系统中的类,在类目中增加的方法会被子类继承,而且在运行时跟其他的方法没有区别. 2.作为子类的替代方式,不需要定义和使用一个子类,可以通过类目直接向已有的类里增加方法. 3.对类中的方法进行归类,利用catigory把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护. 4.和普通接口有所区别的是,在Category的实现文件中的实例方法只要你不去调用它你可以不用实现所有声明

【转】IOS版本自定义字体步骤

本文转载自:http://quick.cocoachina.com/wiki/doku.php?id=ios%E7%89%88%E6%9C%AC%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AD%97%E4%BD%93%E6%AD%A5%E9%AA%A4 比如字体文件名叫abc.ttf, 用mac字体工具查到字体的名称: PostScript名称 FZYHJW--GB1-0 全名 方正艺黑简体 这个PostScript 名称就是我们的字体名称,

类的扩展--类目--ios

person+money.h  这是类目类 #import "Person.h" //这是扩展person类的接口类,独立一个文件 @interface Person (Money) -(void) haveMoney; @end person+money.m 这是类目类 #import "Person+Money.h" //这是扩展person类的实现类,独立一个文件 @implementation Person (Money) -(void) haveMoney

iOS开发OC基础:OC中的分类(类目)

//分类,category,(类目) //为没有源代码的类添加方法 //一定要注意,只能添加方法,不能添加实例变量 /** *  分类 类的定义也是分为接口部分和实现部分 接口部分:以@interface开头 + 类名 后跟小括号,小括号内填写的是分类名 @end结束 在@interface 与@end 之间添加方法. */ //分类为原类添加的方法,就相当于原类具有该方法,可以正常调用 因为涉及到几个分类的创建,所以就直接上传代码了,其实代码也不多,只是怕大家在建立分类的时候会混淆,所以直接把

iOS开发中自定义字体的方法

http://www.cnblogs.com/iyou/archive/2014/05/25/3751669.html 1. 首先下载你想要设置的字体库,例如设置方正启体简体 2. 添加到工程,一定要注意勾选红色框框处,默认是不勾选的  添加以后 3.在plist文件中添加 4.现在已经添加成功了,但是要使用就必须知道FontName,用以下代码可查到 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyName

iOS类目

首先我们解释一下类目是什么 iOS中类目是为给已经存在的类添加新的方法.(但是不能添加实例变量) 也就是说 我们已经有一个类了 ,但是我们发现这个类目前所提供的方法,满足不了我们的需求,我们需要新的方法,但是我们有不想或者不能动这个类的原始写法,此时类目就可以实现不用动这个类的情况下 为他添加新的方法. 比如说: 假如,我们把人看作一个类,我们对人的定义包括吃饭,睡觉,穿衣等等. 他的方法包括了 如何吃饭,如何穿衣,如何睡觉等等 但是,有一天汽车出现了,我们发现我们之前对人的定义没有 开汽车这个

iOS使用自定义字体的方法(内置和任意下载ttf\otf\ttc字体文件)

最近做了个有关阅读的应用,使用了自定义字体,学习了一下这方面的知识. 1.首先是最简单也普遍的做法,打包内置字符库文件: 把字体库文件添加到工程,如font1.ttf添加到工程,然后在工程plist添加一项Fonts provided by application,这是个数组,然后添加key item1,value就是刚才说的font1.ttf,如图: 那么在工程里就可以直接使用这个字体,直接用 + (UIFont *)fontWithName:(NSString *)fontName size