写这篇文章的初衷是由于我有一次想获取一个font的字体大小时使用了UIFont的lineHeight属性,结果是比字体的大小要大了一部分,然后经过查阅各种资料,发现了原因。

首先我们来看一看UIFont的API里面有哪些属性:

// Font attributes
@property(nonatomic,readonly,strong) NSString *familyName;
@property(nonatomic,readonly,strong) NSString *fontName;
@property(nonatomic,readonly) CGFloat pointSize;
@property(nonatomic,readonly) CGFloat ascender;
@property(nonatomic,readonly) CGFloat descender;
@property(nonatomic,readonly) CGFloat capHeight;
@property(nonatomic,readonly) CGFloat xHeight;
@property(nonatomic,readonly) CGFloat lineHeight NS_AVAILABLE_IOS(4_0);
@property(nonatomic,readonly) CGFloat leading;

你会发现有这么一大堆属性然而并不知道都是干嘛的,不用着急,给你们看一张图就知道了:

现在应该大致知道各个属性都是干嘛了的吧。

pointSize就是字体的大小,要获取字体大小就用这个属性。

而lineHeight是行高,当你要计算这些字所占用的高度的时候,要用这个属性。

有一个属性baseLine,指的就是紧贴着这些字符的那条线。

leading指的是如果有多行的话,两个baseline之间的距离,如果只有一行,那么这个值就是0.

ascender和descender意义很明确,就不说了。

capHeight表示最高的字符的高度。

xHeight表示最低的字符的高度。

fontName表示的字体的名字,familyName会把字体名字分成几部分,用空格隔开。应该是字体也分家族吧。
---------------------
作者:wcxdell
来源:CSDN
原文:https://blog.csdn.net/a2331046/article/details/52904529
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/jiuyi/p/10556390.html

[iOS]UIFont的lineHeight与pointSize相关推荐

  1. UIFont的lineHeight与pointSize

    转载自:   http://blog.csdn.net/a2331046/article/details/52904529 写这篇文章的初衷是由于我有一次想获取一个font的字体大小时使用了UIFon ...

  2. iOS-字体UIFont的lineHeight与pointSize

    首先我们来看一看UIFont的API里面有哪些属性: [objc] view plain copy // Font attributes @property(nonatomic,readonly,st ...

  3. iOS UIFont 字体名字大全

    iOS UIFont 字体名字大全 Font Family: American Typewriter Font: AmericanTypewriter Font: AmericanTypewriter ...

  4. 如何 给 iOS UIFont 设置字重?

    如何 给 iOS UIFont 设置字重 UILabel *label = [[UILabel alloc] init]; if (@available(iOS 8.2, *)) {label.fon ...

  5. iOS UIFont自定义字体

    1. 将字体文件导入工程(.ttf) 2. 打开Build Phases -> Copy Bundle Resources,确定字体文件已经添加 3. 编辑info.plist文件,添加Font ...

  6. iOS UIFont 字体大全

    我们在开发中很多时候要设置UIlabel,UIbutton,UItextfield的字体,这个时候我们就需要用到UIFont,下面简单介绍一下UIFont的用法,仅供参考. UIFont用于获取和设置 ...

  7. iOS UIFont 的学习与使用

    通常,我们使用字体 都是系统默认的字体. 有时候 从阅读体验,美观度 设计师都会考虑用一些 更高大尚的字体. 系统字体库 给英文 各种style的发挥空间很大,但是 中文则不然. 但是苹果 给使用中文 ...

  8. iOS UIFont中文字体 -- 中文字体包快速查找

    最近我司的产品经理要求新版本的APP中的字体格式要新颖,区别于大众APP的字体.需求大过天,开始着手UIFont类设置字体.最终设置来设置去,还是无法和UI达成一致. 在网上查询设置中文字体,像仿宋, ...

  9. [iOS] UIFont 设置字体

    label.font  =  [UIFont fontWithName: @" Arial-BoldItalicMT "  size: 24 ]; 字体名如下: Font Fami ...

最新文章

  1. OSPF高级设置实现全网互通
  2. 斩草除根-修复被剪断的鼠标引线
  3. k8s部署ingress:使用heptio-contour部署ingress controller(通过sealos安装,非nginx-ingress类型)
  4. Python基础day02 作业解析【6道 if 判断题、9道 循环题】
  5. scjp考试准备 - 1 - 循环控制
  6. easyui、表格中添加操作一列,将操作下设置为修改,点击修改弹出该行对象的编号。
  7. Mysql windows安装说明
  8. LeetCode2.两数相加
  9. Jenkins系列一Linux环境安装Jenkins
  10. 什么时候用到id和class?
  11. 软件项目管理的重点知识
  12. WIN7 VS2005 安装wince6.0教程(不管是X86还是X64,我都尝试成功了)
  13. matlab 插值出错,MATLAB插值问题
  14. 职业-企业家:企业家
  15. redis源码分析(2)——事件循环
  16. DBeaver出现:The Network Adapter could not establish the connection 已解决
  17. excel高级筛选怎么用_Excel筛选功能这样用,再多数据我也不惧了
  18. 极光一键登录集成手册 | Android
  19. android文件删除工具下载,Coolmuster Android Cleaner下载
  20. MacBook Air响一声白屏故障情况说明及解决

热门文章

  1. Audio WAV文件头格式
  2. SECTION 16 函数和函数式编程(三)
  3. 华为在国内智能手机市场领先优势明显,有助实现2亿出货量
  4. 准程序员怎样才能面试进入一流的互联网公司?
  5. 计算机文化基础 教学项目,项目教学法在《计算机文化基础》课程中的应用
  6. 【基于物联网的智能草莓种植系统的设计与实现系列教程】7-树莓派触3.5寸控屏连接翻转与触屏校准 (课程设计、毕设项目、树莓派、yolov5)
  7. 电子电路讨论 ---电源部分的讨论
  8. git stash用法
  9. 网络编程_常用的基本函数介绍——htonl、ntohl、htons、ntohs
  10. C语言quantity用法,quantity是什么意思?