2013-01-21 120 views
1

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

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; 

回答

0

这看看这个链接之前得到回答: invalid context error

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