探讨iOS某个像素点是否显示依据,以摸索为什么iOS没适配的应用在iphone6上面线的粗细会不稳定。有的线会变粗。
2015-07-07 14:23
549 查看
先说一下系统对某个像素点是否显示的依据:
// 如果单个像素分为10格,如上图,从上往下第5格被填充或从右往左第5格被填充,则该像素就会被显示;实际上系统会划分的更细,不只是10格。
// 下面是横向的测试代码,需要在2倍屏上测试。
UIView *line = [[UIViewalloc]initWithFrame:CGRectMake(0,10,320,0.25)];//显示
line.backgroundColor = [UIColorredColor];
[_baseContentaddSubview:line];
line = [[UIViewalloc]initWithFrame:CGRectMake(0,12,320,0.2)];//不会显示
line.backgroundColor = [UIColorblueColor];
[_baseContentaddSubview:line];
line = [[UIViewalloc]initWithFrame:CGRectMake(0,14.25,320,0.05)];//不会显示
line.backgroundColor = [UIColorblackColor];
[_baseContentaddSubview:line];
line = [[UIViewalloc]initWithFrame:CGRectMake(0,16.2,320,0.05)];//显示
line.backgroundColor = [UIColorgreenColor];
[_baseContentaddSubview:line];
// 下面是纵向的测试代码
line = [[UIViewalloc]initWithFrame:CGRectMake(10,0,0.255,300)];//显示
line.backgroundColor = [UIColorredColor];
[_baseContentaddSubview:line];
line = [[UIViewalloc]initWithFrame:CGRectMake(12,0,0.25,300)];//不会显示
line.backgroundColor = [UIColorblueColor];
[_baseContentaddSubview:line];
line = [[UIViewalloc]initWithFrame:CGRectMake(14.25,0,0.05,300)];//显示
line.backgroundColor = [UIColorblackColor];
[_baseContentaddSubview:line];
line = [[UIViewalloc]initWithFrame:CGRectMake(16.2,0,0.05,300)];//不会显示
line.backgroundColor = [UIColorgreenColor];
[_baseContentaddSubview:line];
总结:当设置的线如果是1px的时候无论起点在哪里,都只会显示1px的线。
但是如果线超过了1px,比如说1.2px。那么起点的位置就有可能导致线变成2px。
// 下面是测试代码,宽度设置相同,上面是1px,下面是2px。也是在2倍屏上
line = [[UIViewalloc]initWithFrame:CGRectMake(18,0,0.6,300)];//1px
line.backgroundColor = [UIColoryellowColor];
[_baseContentaddSubview:line];
line = [[UIViewalloc]initWithFrame:CGRectMake(22.2,0,0.6,300)];//2px
line.backgroundColor = [UIColoryellowColor];
[_baseContentaddSubview:line];
明白了这个道理,就不难理解为什么没适配的应用在iphone6上面线有可能会变粗。因为0.5个点宽的线在iphone6上面线宽像素会变成1.几px。有时候就有可能显示成2px。
相关文章推荐
- (L1)AudioService adjustStreamVolume代码走读
- iOS pch文件配置
- ios之快速领会自动布局 VFL
- iOS多线程个人总结
- iOS - 使用CoreLocation获取当前所在城市
- iOS开发过程中常用的方法
- iOS9需要注意的问题
- iOS编码的一些规范
- iOS中的多线程
- IOS_月薪10k以上知识大总结
- ios-block回调
- iOS接入支付宝(支付功能)
- 宏定义的黑魔法 - 宏菜鸟起飞手册
- nagiosgraph安装步骤
- 10步成为专业iOS开发者——新手向,从零起步
- 让自己的创意随时随地在纸上实现出来
- iOS 8 AutoLayout 及SizeClass(三) 使用详解 好多值得学习及研究的地方
- ios 字典转模型
- ios学习8_KVC和字典转模型
- ios学习8_KVC和字典转模型