开发者

How to draw wavy line on iOS device

开发者 https://www.devze.com 2023-02-27 02:14 出处:网络
I have many points constructing a line.How can I dra开发者_StackOverflow中文版w a wavy line through those points?Use CGContextRef on iOS.

I have many points constructing a line. How can I dra开发者_StackOverflow中文版w a wavy line through those points?


Use CGContextRef on iOS.

WavyView.h

#import <UIKit/UIKit.h>

@interface WavyView : UIView {

}

@end

WavyView.m

#import "WavyView.h"

@implementation WavyView

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

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context, 2.0);
    CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
    CGContextBeginPath(context);
    CGContextMoveToPoint(context, 100, 100);
    CGContextAddCurveToPoint(context,125,150,175,150,200,100);
    CGContextAddCurveToPoint(context,225,50,275,75,300,200);
    CGContextStrokePath(context);
}

- (void)dealloc {
    [super dealloc];
}

@end

Result:

How to draw wavy line on iOS device


Example:

- (void)drawRect:(NSRect)rect
{
    NSBezierPath *curve = [NSBezierPath bezierPath];
    [curve moveToPoint:NSMakePoint(0,50)];
    [curve relativeCurveToPoint:NSMakePoint(150,50) controlPoint1:NSMakePoint(50,100) controlPoint2:NSMakePoint(100,0)]; 
    [[NSColor redColor] set];
    [curve stroke];
}

Result:

How to draw wavy line on iOS device


create a NSBezierPath , and use your points as the control points.

0

精彩评论

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