为什么UIGraphicsGetCurrentContext不正确?

时间:2013-01-21 12:50:11

标签: events touch cgcontext

你帮我吗? 我的触摸事件中的某些内容无法正常工作。 我的绘画区域有900 x 700px,不是完整的UIView。 在控制台错误中显示:

  CGContextAddLineToPoint: invalid context 0x0
  CGContextMoveToPoint: invalid context 0x0
  CGContextSetRGBStrokeColor: invalid context 0x0
  CGContextSetLineWidth: invalid context 0x0......
  .......
  .......

为什么UIGraphicsGetCurrentContext不正确?

我该如何解决此错误

我的代码:

- (void)**touchesMoved**:(NSSet *)touches withEvent:(UIEvent *)event {

mouseSwiped = YES;
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:self.tempDrawImage];

UIGraphicsBeginImageContext(self.tempDrawImage.frame.size);
[self.tempDrawImage.image drawInRect:CGRectMake(0, 0, self.tempDrawImage.frame.size.width, self.tempDrawImage.frame.size.height)];

CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);

CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), brush );
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, 1.0);
CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeNormal);

CGContextStrokePath(UIGraphicsGetCurrentContext());
self.tempDrawImage.image = UIGraphicsGetImageFromCurrentImageContext();
[self.tempDrawImage setAlpha:opacity];
UIGraphicsEndImageContext();

lastPoint = currentPoint;

1 个答案:

答案 0 :(得分:0)

在查看此链接之前已经回答过: invalid context error

我已经将视图子类化,并将我的代码放在drawRect方法中,它对我有用。