如何在不影响背景图像的情况下在UIImageView上绘图?

时间:2011-11-11 10:06:22

标签: iphone uiimageview core-graphics background-image background-color

我有单视图控制器应用程序。它包含UIImageView,用户触摸它在屏幕上绘制。这部分工作正常。在视图中做了viewcontroller的加载方法我设置了一个不同的图像作为背景图像。我将该图像视图背景设置为清晰的颜色。现在,当我尝试从UIImageView中删除某些内容时,我也会删除视图控制器背景视图。我怎么能避免这个?

这是我的代码 在viewDidLoad()

中设置viewcontroller的背景
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bacground.png"]];
image.backgroundColor = [UIColor clearColor];    

在touchesMoved方法中在屏幕上绘图

UIGraphicsBeginImageContext(image.frame.size);
[image.image drawInRect:CGRectMake(0, 0, image.frame.size.width, image.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), lineWidth);
CGContextSetStrokeColorWithColor(UIGraphicsGetCurrentContext(), self.drawcolor.CGColor);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
image.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

要擦除我只是将drawcolor设置为whiteColor。

1 个答案:

答案 0 :(得分:0)

要设置后台使用的图像,然后尝试在视图上绘制另一个图像

            UIImageView *background = [[UIImageView alloc]initWithImage:[UIImage imageNamed: @"backipad.png"]];
self.view = background;

尝试上面,我没有遇到过这样的问题,但我认为这对你有用......并且

 background.userInteractionEnabled = YES;