Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IOS: draw a line with your finger

Tags:

xcode

ios

drawing

I want to know what's the approach to draw a line with a finger in a white view. I want to do an artboard, and I want begin to understand how draw a simple line or a track done with a finger. How can I do it?

like image 446
cyclingIsBetter Avatar asked Nov 27 '11 17:11

cyclingIsBetter


1 Answers

I have understood your problem. Please see the bellow code.It will use full for you.

-(void)intializeDrawImage
{
    drawImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, 320, 320)];
   [drawImage setBackgroundColor:[UIColor purpleColor]];
   [drawImage setUserInteractionEnabled:YES];
   [self.view addSubview:drawImage];
}
 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"touchesBegan");
    UITouch *touch = [touches anyObject];
    CGPoint p = [touch locationInView:drawImage];
    startPoint = p;
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"touchesMoved");
    UITouch *touch = [touches anyObject];
    CGPoint p = [touch locationInView:drawImage];
    [self drawLineFrom:startPoint endPoint:p];
}

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

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

-(void)drawLineFrom:(CGPoint)from endPoint:(CGPoint)to
{
    drawImage.image = [UIImage imageNamed:@""];

    UIGraphicsBeginImageContext(drawImage.frame.size);
    [drawImage.image drawInRect:CGRectMake(0, 0, drawImage.frame.size.width, drawImage.frame.size.height)];
    [[UIColor greenColor] set];
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0f);
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), from.x, from.y);
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), to.x , to.y);

    CGContextStrokePath(UIGraphicsGetCurrentContext());

    drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
 }
like image 179
Anasuya Avatar answered Oct 01 '22 07:10

Anasuya