我的应用程序中有照片功能。它在除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];}
答案 0 :(得分:0)
经过几个小时的打击和试验,我完成了它的工作。我写的代码是正确的,应该正常工作。唯一的问题是该drawingView(self)的帧大小。
视图的高度处于浮动状态,这使得它与每个像素一起向上移动。我应用了lroundf
函数及其工作。
快乐的编码。