在iPhone X上绘制线条

时间:2018-01-08 13:02:53

标签: ios drawing iphone-x

我的应用程序中有照片功能。它在除iPhone X之外的所有设备上工作。在iPhone X上,每条手指移动时线条都会褪色并向上移动。上部10-20%的视图区域工作正常。以下是绘制线的代码。

- (void)drawLineNew{

UIGraphicsBeginImageContext(self.bounds.size);
[self.viewImage drawInRect:self.bounds];

CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetStrokeColorWithColor(UIGraphicsGetCurrentContext(), self.selectedColor.CGColor);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), _lineWidth);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), previousPoint.x, previousPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);

CGContextStrokePath(UIGraphicsGetCurrentContext());
self.viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[self setNeedsDisplay];}

以下是示例图纸截图 enter image description here

1 个答案:

答案 0 :(得分:0)

经过几个小时的打击和试验,我完成了它的工作。我写的代码是正确的,应该正常工作。唯一的问题是该drawingView(self)的帧大小。 视图的高度处于浮动状态,这使得它与每个像素一起向上移动。我应用了lroundf函数及其工作。
快乐的编码。