界面展示bug随笔
2019-11-14 本文已影响0人
wpwb110
ios 日前遇到一个界面展示bug
界面是通过计算获得宽度,通过Masonry进行设置,但是显示到界面上的时候,xr和11这两个机器都出现了问题
然后发现对于约束的设置,常量的精度是有一定限制的,但是具体没有特别测试,大致的宽度变换能如下所示
// xr
// 385.39583333333328 == 385
// 385.39583333333329 == 385.5
// iphone 5s
// 385.15416666666662 == 385.5
// 385.15416666666661 == 385
// iphone 6
// 385.24861111111105 == 385.5
// 385.24861111111104 == 385
因为适配都是通过设计给出6s屏幕的各个尺寸大小,计算是通过屏幕宽度除以375.0获得一个比例值,然后设置得到的,但是由于对于精度截取的不同,会导致各个屏幕展示的不同,因此也会产生隐患
而且对于3x的屏幕,会增加一级.333目前还没得到通过什么算法划分出来的进位
对应机型的界限暂时只是简单知道一个边界,后期需要避免踩红线
再加上https://www.jianshu.com/p/41a8ccdf91ed以及 https://www.apple.com/cn/iphone/compare/中对于像素点的介绍
因此目前需要适配屏幕的时候,
1 、iphone 5
2、iphone 5s
3、iphone 6/7/8
4、iphone 6p/7p/8p
5、iphone se
6、iphone xs/11pro/x
7、iphone xr/11
8、iphone xsm/11prom