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];

    

}

IOS上怎么画出1像素的线

版权声明:本文为博主原创文章,未经博主允许不得转载。

1楼zhao189339小时前
SINGLE_LINE_ADJUST_OFFSET 为什么要再除以2?
Re: rabewu5小时前
回复zhao18933n这个解释起来比较复杂了,苹果的绘图系统会采用反锯齿,画出来的线虽然是1像素,但是如果偏移位置不正确,就会造成该像素的线被拉伸为2像素的灰色的线,这和设备是否Retina以及设备型号有关系,涉及面较多。统一起来就按这个宏操作就没错了。