最近开发遇到了一个需求,要求按钮有个1像素的边框,说实话,1像素的边框在6P上真的不怎么好看,但是再设计的严格要求下,只好严格按照效果图绘制。
问题分析
1像素的问题,苹果官方文档 是有详细解释的,网络上也有很多朋友给出了IOS*绘制1像素线*的解决方案,可自行百度,本文给出绘制一像素边框的简单解决方案
1像素问题本质上就是绘制位置坐落在半个像素上,由于反锯齿算法的原因导致最终的绘制结果为两个像素的线
所以,要想解决一像素问题,只需要修正绘制位置为整个像素即可
即,要想绘制1像素边框,只需要把视图的每个边坐标保证是整个像素的开端即可,代码如下
解决问题代码
#import <UIKit/UIKit.h>
@interface UIView (OnePixelBorder