iOS自定义字体设置和系统自带的字体详解

前言

有时候我们写app的时候不想使用默认的字体,我们会用到UI给我们设计好的字体,或者别的字体,那么我们改如何设置呢.
首先先看一下我自己导入的字体和苹果给我们自带的字体都有哪些吧.

看一下样式

首先说一下.我们如何设置字体的样式呢,我们可以这样设置:

label.font = [UIFont fontWithName:@"Helvetica-Bold" size:17.f]; 

那么我们该如何得到我们想要的字符串呢?

我们可以这样得到所有的字符串

NSArray *familyFonts = [UIFont familyNames];
for (NSString * fontStr in familyFonts) {
 NSArray *fonts = [UIFont fontNamesForFamilyName:fontStr];
 for (NSString *fontStr in fonts) {
 NSLog(@"fontStr = %@" , fontStr);
 }
 }

然后我们设置我们想要的样式就好了.

如果我们不想要苹果给我们带的字体,我们需要自己的字体,那么我们该如何做呢.

1、准备好ttf的字体包,导入的字体格式可以是ttf、otf、ttc

2、将字体包拖入项目中

加入项目中我们就可以看到如下内容了

3、在info.plist文件中我们需要加入相应的信息,这一步实际上是在项目的Info页里面增加Fonts provided by application项,并设置相应的ttf文件进去,这样就告诉了应用,我要加入新的字体了,对应的字体文件是哪些,视图如下:

4、准备工作我们就做好了,下面就是来使用了,我们需要将我们导入的字体的字符串先打印出来,以便我们可以设置。

5、使用字体

[UIFont fontWithName:@"^cw\EO`W^" size:17];

6、如果我们想要将系统的默认字体改变的化,给UIFont一个分类,重写systemFontOfSize:方法,将我们的字体设置成自己的就可以了。

大概就这些步骤了,如有需要Demo可以下载:https://github.com/zhangyqyx/appFont

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • iOS自定义字体显示问题的完美解决方法

    前言 本篇文章讲的是在实际项目中碰到一款自定义字体在展示上出现问题,然后运用先进的苹果爸爸的工具来解决这个问题的故事. 下面话不多说了,来一起看看详细的介绍吧 1. 自定义字体出什么问题了? 设计师们的作品总是千变万化,为了成就他们,作为程序员的我们只好满足他们喽. 所以当设计师用到一款神奇的字体的时候,我是不会拒绝的,就像下面这个样子: 为了让大家能更好的看到这个问题,我把 label 设置了一个背景色,label 的 width 和 height 都等于50.现在,在 storyboard

  • IOS 添加自定义字体方法详解

    1:获取字体文件 从各种渠道下载字体文件ttf, 网站或者从别的ipa里扣出来.(以fzltxh.ttf为例) 2:将fzltxh.ttf文件拷贝到工程中 3:在Info.plist中添加项: Fonts provided by application(UIAppFonts)  可以添加一个或多个item, 如 item0 --  fzltxh.ttf 4:找出真正的字体名称: 因为使用字体时, 要使用字体的真实名称, 而不是文件名, 可以用以下代码来遍历当前设备可用的字体名称, 再从中找出刚才

  • IOS添加自定义字体实例详解

    IOS添加自定义字体 字体是软件开发中个性化的一个重要元素,系统自带了很多丰富的字体,但有时候并不能满足个性化的需求,这时候可以向工程中添加自定义的系统字体,然后就可以像使用系统字体一样使用.字体文件最常用的为ttf等格式. 导入自定义字体过程很简单:添加资源包到工程->在info.plist文件中注册字体->在工程Bundle Resource中复制字体资源包->代码检测查询加入的字体并使用 添加资源包 addFile添加字体资源包或者直接将字体包拖到工程资源文件夹下: info.pl

  • iOS自定义字体设置和系统自带的字体详解

    前言 有时候我们写app的时候不想使用默认的字体,我们会用到UI给我们设计好的字体,或者别的字体,那么我们改如何设置呢. 首先先看一下我自己导入的字体和苹果给我们自带的字体都有哪些吧. 看一下样式 首先说一下.我们如何设置字体的样式呢,我们可以这样设置: label.font = [UIFont fontWithName:@"Helvetica-Bold" size:17.f]; 那么我们该如何得到我们想要的字符串呢? 我们可以这样得到所有的字符串 NSArray *familyFon

  • iOS 自定义返回按钮保留系统滑动返回功能

    先给大家展示下效果图:  1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使用导航栏push出一个控制器,我们在控制器中自定义了一个返回按钮.这样系统默认的滑动返回手势效果就没有了. 2.解决方法 [1]从A这个控制器push到B这个控制器,我们想要自定义B的返回按钮,我们可以在A中设置 self.navigationItem.backBarButtonItem = [[UIBarButtonItem

  • iOS开发retina屏幕下的点与像素关系详解

    目录 引言 I iOS中点与像素有什么关系? II 图片使用的相关注意事项 2.1 推荐使用png格式 2.2 关于图像的实例化 2.3 动画结束之后清除帧动画数组 III 设置状态栏字体颜色 3.1 方式一 3.2 方式二 see also 引言 提交app store的时候 需要一张1024*1024的 如果不设置这两种的尺寸启动页的话,在4英寸.3.5英寸的设备上展示不了启动页,app 的高度也默认都是矮的960px.** 注意@3x 提供给开发的px 为12422208 ,但真实的px

  • android加载系统相册图片并显示详解

    1,下载ImageLoad.jar包放入项目libs文件夹中,并点击右键->add as Library 2,首先记得在Manifest.xml注册权限(注:6.0以后的版本要在代码中动态注册权限) <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.R

  • vue3使用自定义指令实现el dialog拖拽功能示例详解

    目录 实现el-dialog的拖拽功能 通过自定义指令实现拖拽功能 实现拖拽功能 使用方式 实现el-dialog的拖拽功能 这里指的是 element-plus 的el-dialog组件,一开始该组件并没有实现拖拽的功能,当然现在可以通过设置属性的方式实现拖拽. 自带的拖拽功能非常严谨,拖拽时判断是否拖拽出窗口,如果出去了会阻止拖拽. 如果自带的拖拽功能可以满足需求的话,可以跳过本文. 通过自定义指令实现拖拽功能 因为要自己操作dom(设置事件),所以感觉还是使用自定义指令更直接一些,而且对原

  • iOS开发中以application/json上传文件实例详解

    本文通过实例代码给大家讲解iOS中以application/json上传文件的形式,具体内容详情大家参考下本文. 在和sever后台交互的过程中.有时候.他们需要我们iOS开发者以"application/json"形式上传. NSString *accessUrl = [NSString stringWithFormat:@"%@/xxx",@"https://www.xxxxx.com:xxxx"]; NSMutableURLRequest

  • itext生成PDF设置页眉页脚的实例详解

    itext生成PDF设置页眉页脚的实例详解 实例代码: /** * ITextTest * iText生成PDF加入列表,注释等内容,同时设置页眉和页脚及页码等. */ package com.labci.itext.test; import java.awt.Color; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import com.lo

  • Android 图片存入系统相册更新显示实例详解

    Android 图片存入系统相册更新显示实例详解 在开发android的过程中,我们避免不了可能会涉及到做一个自定义相册或则会去本地创建一个文件夹来存储我们需要的图片.拿相册来说,比如我们创建一个test的文件夹,拍完一张照片后存储到这个指定的test文件夹里,然后在相册里面显示出来,就像微信的效果一样.拍完即可立即显示.但是,在实际开发过程中我们保存完一张图片后并不能立即更新显示出来这个图片,需要我们重启手机才能在系统相册中显示出来. 这里先提供一个插入系统图库的方法: MediaStore.

  • Android自定义进度条的圆角横向进度条实例详解

    1.本文将向你介绍自定义进度条的写法,比较简单,但还是有些知识点是需要注意的: invalidate()方法 RectF方法的应用 onMeasure方法的应用 2.原理 画3层圆角矩形,底层为黑色,第二层为灰色,最上一层为进度条颜色,示例图如下: 3.效果图   实现圆角进度条还有很多其他方法,比如在Progress控件里填充圆角图片,通过拉伸图片来达到预想的效果,虽然听起来很简单,但实现起来还是有些麻烦的. 4.解说方法 (1)invalidate()方法 invalidate()是用来刷新

  • SpringBoot之自定义Filter获取请求参数与响应结果案例详解

    一个系统上线,肯定会或多或少的存在异常情况.为了更快更好的排雷,记录请求参数和响应结果是非常必要的.所以,Nginx 和 Tomcat 之类的 web 服务器,都提供了访问日志,可以帮助我们记录一些请求信息. 本文是在我们的应用中,定义一个Filter来实现记录请求参数和响应结果的功能. 有一定经验的都知道,如果我们在Filter中读取了HttpServletRequest或者HttpServletResponse的流,就没有办法再次读取了,这样就会造成请求异常.所以,我们需要借助 Spring

随机推荐