iOS 绘制1像素线条总结
2015-08-17 14:10
447 查看
先了解下
下面来看下不同几款设备对应的
以上数据是根据下面代码获取
CGFloat scale = [UIScreen mainScreen].scale;
实例代码
设置高为1像素的视图
参考链接:
/article/1316177.html
https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GraphicsDrawingOverview/GraphicsDrawingOverview.html
scale
scale即屏幕缩放系数,根据当前设备屏幕的大小计算的比例。
下面来看下不同几款设备对应的
scale
设备 | Size | scale |
---|---|---|
4s | {320, 480} | 2.000000 |
5/5s | {320, 568} | 2.000000 |
6 | {375, 667} | 2.000000 |
6Plus | {414, 736} | 3.000000 |
scale
CGFloat scale = [UIScreen mainScreen].scale;
实例代码
设置高为1像素的视图
#define SINGLE_LINE_WIDTH (1 / [UIScreen mainScreen].scale) #define SINGLE_LINE_ADJUST_OFFSET ((1 / [UIScreen mainScreen].scale) / 2)
lineWidth = SINGLE_LINE_WIDTH; CGFloat pixelAdjustOffset = SINGLE_LINE_WIDTH; //仅当要绘制的线宽为奇数像素时,绘制位置需要调整 if (((int)(lineWidth * [UIScreen mainScreen].scale) + 1) % 2 == 0) { pixelAdjustOffset = SINGLE_LINE_ADJUST_OFFSET; } UIView *line = [[UIView alloc] initWithFrame:CGRectZero]; // xPos yPos line.frame = CGRectMake(0-pixelAdjustOffset, 100-pixelAdjustOffset, sys_w, lineWidth); line.backgroundColor = [UIColor redColor]; [self.view addSubview:line];
参考链接:
/article/1316177.html
https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GraphicsDrawingOverview/GraphicsDrawingOverview.html
相关文章推荐
- 一套不错的IOS笔试题选择题
- 自动布局框架Masonry介绍与使用实践:快速上手Autolayout [转载]
- iOS.OpenSource.AllInOne
- IOS上传图片
- ios 关键字 IB_DESIGNABLE IBInspectable 尝鲜
- IOS常用正则表达式
- iOS 用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- IOS创建目录接口createDirectoryAtPath:withIntermediateDirectories:中参数attributes的设置
- IOS-笔记4(类,结构体,枚举)
- iOS百度地图SDK之实时绘制轨迹(后台仍执行)
- IOS中CALayer的使用
- iOS 模糊、精确搜索匹配功能方法总结 By HL
- iOS中RunLoop机制浅探
- iOSQuartz2D-02-绘制炫酷的下载进度条
- IOS git
- iOS8后台定位
- ios多线程的几种创建方式
- iOS 项目中使用CocoaPod管理项目初试
- iOS学习笔记(二.iOS程序执行流程)
- iOS CGRectInset、CGRectOffset详解