开发者

I need to draw a line on a view, and have the line be straight no matter what, but dynamic in length

开发者 https://www.devze.com 2023-02-28 09:00 出处:网络
Ok I need to implement a simple measuring tool for an iPad app I am working on. I don\'t have any experience with drawing, so I am really struggling. When the user presses down on the view (in measuri

Ok I need to implement a simple measuring tool for an iPad app I am working on. I don't have any experience with drawing, so I am really struggling. When the user presses down on the view (in measuring mode) the line's origin starts. I need to then be able to draw a line to wherever the user drags their finger, as they are dragging their finger, and have it be straight the entire time too.

I have the logic that calculates the distance between two point开发者_运维知识库s working based on two UITapGestureRecognizers, but I am thinking I will need to implement the touchesBegan/Ended methods instead.

How can I draw a line as the user drags, and make it stay straight the entire time?

I just need a point in the right direction.

Thanks!!


Check out a good tutorial like this.

Skip to the section on drawing lines:

void draw1PxStroke(CGContextRef context, CGPoint startPoint, CGPoint endPoint, 
    CGColorRef color) {

    CGContextSaveGState(context);
    CGContextSetLineCap(context, kCGLineCapSquare);
    CGContextSetStrokeColorWithColor(context, color);
    CGContextSetLineWidth(context, 1.0);
    CGContextMoveToPoint(context, startPoint.x + 0.5, startPoint.y + 0.5);
    CGContextAddLineToPoint(context, endPoint.x + 0.5, endPoint.y + 0.5);
    CGContextStrokePath(context);
    CGContextRestoreGState(context);        

}

and then here is the call to that method:

// Add in color section
CGColorRef separatorColor = [UIColor colorWithRed:208.0/255.0 green:208.0/255.0 
    blue:208.0/255.0 alpha:1.0].CGColor;

// Add at bottom
CGPoint startPoint = CGPointMake(0, 0);
CGPoint endPoint = CGPointMake(100, 20);
draw1PxStroke(context, startPoint, endPoint, separatorColor);
0

精彩评论

暂无评论...
验证码 换一张
取 消