浅谈设置字体大小
Posted ITCoderW
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈设置字体大小相关的知识,希望对你有一定的参考价值。
浅谈设置字体大小
前言
如果设置字体用的是[UIFontsystemFontOfSize:20.0];这种方式 看一下文档会发现这里的后边的字体的参数单位是point即pt
那么如果是UI设计师给我们的标注也是pt为单位的话直接设置就好(有一个基准,别的机型做相应的增量处理),如果是给我们的标注是px(像素)的话,我们该要怎么写呢
举个例子
Objective-C写出Json文件(可作配置文件)
再次更改:
对于ios设备而言关于px与pt之间的转换,其实px * 3 / 4 = pt 是正确的,这一点我后来测试之后确实是发现大约数值是对的,而且之前也在github或者是知乎上也确实有人这么说。当然,我们设置好了之后,也最好记得给设计师看一眼是否还需要调整,这个内容大家去沟通就是了,注意有的时候,如果说有的标注图和自己按照标注图做出来的效果,如果是相差太多的话,一定要记得自己量一下,和对方沟通一下。在设置这个字体的大小的时候有时候是需要设置成一个有参数的宏的
比如说,如果UI设计师给的图示px标注的字体,那么说我们在设置字体的值的时候,也就是可以写作
#define WWIOSFont(font) floor(font * 3.0f / 4.0f) * WWHSCALE
这里的WWHSCALE指的是高度的比例 ,这个就会和当前设备高度有关系了。
比如说设计稿是6的尺寸做的,高度是667pt的话那么换做了其他的设备的话,
WWHSCALE 就是 [UIScreen mainScreen].bounds.size.height / 667.0f
其实感觉在做这些运算的时候难免会有一些精度的损耗。
当然对于设置其他的视图的位置和尺寸的话,其实也是使用的pt的,不过这个时候和字体是不一样的,对于屏幕上的UIView来说的话,这些px和pt之间就是和屏幕分辨率scale这些有关系的。[[UIScreen mainScreen]scale]
然后的话,比如说我们用的是6的机型做的设计稿,那么,如果是px标注的图那么 px/scale * WWHSCALE 这样的话,y或者高度上就处理好了,这部分高度的处理需要注意的是,对于iPhoneX需要特殊对待。毕竟她和iPhone6,6s,7,8等一个宽度,高度确实812pt
宽度和x上同理做相应的处理
如有错误 敬请指正
如需转载 请注明出处 谢谢
以上是关于浅谈设置字体大小的主要内容,如果未能解决你的问题,请参考以下文章