有意思的文字 – UIFont

啥都不说直入主旨
1.打开xcode创建framework项目

UIFount是我们比较熟练的类了,但是貌似也只用来设置一下字号。明日大家来探视UIFont再有什么样措施,以及怎么着利用第三方字体等。
个体博客地址GitHub地址

图1.png

OK! Talk is cheep, show me the code!

2.将你的源码文件放进工程

一、我们常用的UIFont

下边的事例就是采纳UIFont修改文字字号。

UILabel *demoLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 100, 150, 80)];
demoLabel.text = @"HIPPOP";
[self.view addSubview:demoLabel];

demoLabel.font = [UIFont systemFontOfSize:40];

有的时候我们也会需要设置字体粗细,这么些艺术是系统默认的粗体。

demoLabel.font = [UIFont boldSystemFontOfSize:20];

万一想自定义粗体的话,可以使用如下方法。

demoLabel.font = [UIFont systemFontOfSize:20 weight:700];

下边这多少个办法可以安装斜体。

demoLabel.font = [UIFont italicSystemFontOfSize:20];

这一个斜体只好是系统默认的倾斜度,如若还想自定义倾斜度的话,请看有意思的文字

NSAttributedString

iOS系统为大家提供了众多字体,通过UIFont可以转移。

demoLabel.font = [UIFont fontWithName:@"TimesNewRomanPSMT" size:20];

如何?不知情系统还有咋样字体?通过下边这一个艺术看看吧。

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

@系统提供的部分字体截图

图2.png

二、更换第三方字体

尽管如此系统提供了广大字体,不过部分时候需要实现特殊的视觉效果,仍然要运用一些第三方提供的书体。iOS系统当下只匡助ttf格式的书体,我在网上找到一个相比帅气的书体来做Demo。怎么找?看下图。

@哈哈

  1. 先把字体文件拖拽到工程当中。
@拖拽字体文件到工程
  1. 设置info.plist
    添加Fonts provided by application,然后添加key为item0,value为刚刚加盟的VTKS
    ANIMAL 2.ttf ,可以添加多少个,使用的时候写对应字体名字就行。

    @设置info.plist

  2. 将助长的书体添加到Build Phases

@Build Phases
  1. 接下去就足以一向利用了,大家正好添加的书体就可以被打印出来了。
@打印刚添加的字体

demoLabel.font = [UIFont fontWithName:@"vtksanimal2" size:20];

@效果图

Demo地址双手奉上

说到底给我们一个便于,求字体网。如若见到一个难堪的书体,不通晓字体名字的时候,可以截图上传来这一个网站,一搜一个规范!

个人博客地址GitHub地址

3.将您要精晓的头文件写在此间

图3.png

并且在build phases里把这一个头文件从project移动到public

图4.png

4.摘取工程文件>target第一项>Build
Setting>搜索linking,然后多少个需要安装的选项都显现出来,首先是Dead
Code
Stripping设置为NO,网上对此项的讲演如下,大致意思是即便打开此项就会对代码中的”dead”、”unreachable”的代码过滤,不过这一个开关是否关闭,似乎没有多大影响,不过为了全部还原framework中的代码,将此项关闭也绝非不可。然后将Link
With Standard Libraries关闭,我想也许是为了制止重新链接。末了将Mach-O
Type设为Static
Library,framework可以是动态库也得以是静态库,对于系统的framework是动态库,而用户打造的framework只可以是静态库。还有一个我踩的坑,要设置defines
module为NO,不然集成的时候会冒出Include of non-modular header inside
framework module错误。设置bitcode为NO。

图5.png

图6.png

图7.png

这里的默认就好了。

图8.png

5.要是要用到cocoapods第三方库,则一向跟健康项目一律添加cocoapods就行了

图9.png

6.添加bundles图片,则直接新建文件夹,然后改后缀名为.bundle然后把图纸拖进去就行了。
用图形的时候这样用

图10.png

7.个别采用模拟器和真机command+B最后生成模拟器的framework和真机的framework,然后我们将他们统一:

打开终端,lipo -create 模拟器framework里面的二进制文件路径
真机framework里面的二进制路径 -output
输出合并后的二进制路径/二进制文件名称(注意是联合framework里面的二进制文件而不是framework)最后把出口合并后的二进制文件复制替换来模拟器framework里面的二进制文件和真机framework里面的二进制文件。

图10.png

8.将替换合并后的模拟器framework或者真机framework直接拖到项目工程中,然后再把存放在图片的bundle也拖到项目工程中。直接利用就行了。

参考资料:
Xcode
创建.a和framework静态库

ios开发:Xcode8制作framework及使用
iOS8
Framework使用加载xib及图片

【iOS 开发】打包 Framework 时使用 CocoaPods
引入第三方库的措施