gpt4 book ai didi

ios - 如何使用按钮单击删除绘图?

转载 作者:可可西里 更新时间:2023-11-01 03:57:04 25 4
gpt4 key购买 nike

我在 IOS 中绘制应用程序时遇到了一些麻烦。我在一些教程的帮助下创建了自由手绘图。但是我在删除绘图时发现了一些困难。在我的应用程序中,我有一个带有橡皮擦的按钮作为背景图像。单击橡皮擦按钮后,当我在绘图上滑动时,它会在我滑动的任何地方删除绘图。任何人都可以帮我做到这一点。提前致谢。

下面是我的代码:

@implementation LinearInterpView
{
UIBezierPath *path;
}

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}

-(id)initWithCoder:(NSCoder *)aDecoder {

if(self = [super initWithCoder:aDecoder]) {
[self setMultipleTouchEnabled:YES];
[self setBackgroundColor:[UIColor whiteColor]];
path=[UIBezierPath bezierPath];
[path setLineWidth:2.0];
}
return self;
}

-(void)drawRect:(CGRect)rect{
[[UIColor blackColor] setStroke];
[path stroke];
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch=[touches anyObject];
CGPoint p=[touch locationInView:self];
[path moveToPoint:p];
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch=[touches anyObject];
CGPoint p=[touch locationInView:self];
[path addLineToPoint:p];
[self setNeedsDisplay];
}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[self touchesMoved:touches withEvent:event];
}

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

[self touchesEnded:touches withEvent:event];
}

// This is the button action to erase the drawing.
- (IBAction)erase:(id)sender {
CGContextRef cgref=UIGraphicsGetCurrentContext();
CGContextSetBlendMode(cgref, kCGBlendModeClear);
}

请告诉我,我做错了什么。

最佳答案

因此,通过绘图,您意味着您已经在屏幕上绘制了一些颜色的线条,您可以通过设置白色和 alpha 1 来执行相同的操作,以便白色线条替换现有的彩色线条。更好的 tutorial here . This 似乎也很重要。

关于ios - 如何使用按钮单击删除绘图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19173729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com