IOS上怎么画出1像素的线
IOS上如何画出1像素的线

#define SINGLE_LINE_WIDTH (1/[UIScreen mainScreen].scale)
#define SINGLE_LINE_ADJUST_OFFSET ((1/[UIScreen mainScreen].scale)/2)
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
CGFloat xPos = 100;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(xPos - SINGLE_LINE_ADJUST_OFFSET, 35, SINGLE_LINE_WIDTH, 330)];
view.backgroundColor = [UIColor blackColor];
[self.view addSubview:view];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
- 1楼zhao189339小时前
- SINGLE_LINE_ADJUST_OFFSET 为什么要再除以2?
- Re: rabewu5小时前
- 回复zhao18933n这个解释起来比较复杂了,苹果的绘图系统会采用反锯齿,画出来的线虽然是1像素,但是如果偏移位置不正确,就会造成该像素的线被拉伸为2像素的灰色的线,这和设备是否Retina以及设备型号有关系,涉及面较多。统一起来就按这个宏操作就没错了。