最近一直没有更新简书是因为在开发和测试阶段,有任务,没有进行学习,不过在做任务的时候也遇到了一些技术点,在这里总结一下。
今天遇到一个bug: UILabel在6或6plus上边显示多出一条竖线。下图绿色箭头所指的竖线:
设计切图里面是没有的,在真机5或者touch上边也是没有的:
写的界面使用SCREEN_WIDTH/4.0f 计算label尺寸,出现该条竖线的原因:因为在给UILabel的frame赋值的时候出现了float类型的数据,而像素值显示的时候不可能出现显示半个像素的情况, 那么不足一个像素的值就会被忽略掉, 在分辨率较低的机型上不会出现, 而分辨率较高的则不会忽略, 就出现了黑线。
也就是说,6或者6plus的分辨率提高了,所以会在float的数值上边不做忽略的工作,给什么数值就展示什么数值。。。
打比方,我们的label的width 是80.3333,原因可能是因为像素值显示的时候机型版本较低的忽略了0.3333,而机型较高的则会显示出来,结果就出现了黑线。
那么我们如何解决呢?
解决方案:
而我在用第一种方案解决的时候还是遇到一些问题,因为的label有的是左边出现黑线,有的是右边出现黑线,索性用的“向上取整”,问题得到了解决。还是比较好用的说,比较简单易上手!
最后,哪里不对的地方可以给我留言,我会及时改进的,谢谢大家。