zoukankan      html  css  js  c++  java
  • [iOS]UIFont的lineHeight与pointSize

    写这篇文章的初衷是由于我有一次想获取一个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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    atitit.为什么技术的选择方法java超过.net有前途
    HDU 4022 Bombing STL 模拟题
    定制XP引导屏幕背景图像和替换windows这句话
    《STL源代码分析》---stl_heap.h读书笔记
    2015在大型多人在线游戏市场报告
    于Unity3D调用安卓AlertDialog
    jQuery整理笔记5----jQuery大事
    推断字符串数组里面是空的
    软测试-数据结构
    2014第18周三
  • 原文地址:https://www.cnblogs.com/jiuyi/p/10556390.html
Copyright © 2011-2022 走看看