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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    sping AOP核心思想及实现原理
    springmvc RequestMappingHandlerMapping初始化详解
    springmvc RequestMappingHandlerAdapter初始化详解
    POJ 3169 Layout
    POJ 3264
    POJ 3461 Oulipo
    二分图判定 POJ-2492
    最小生成树 prim算法
    初级BFS
    哈夫曼建树
  • 原文地址:https://www.cnblogs.com/jiuyi/p/10556390.html
Copyright © 2011-2022 走看看