如何在iOS设备上绘制波浪线

我有许多要点构build一条线。 我怎样才能通过这些点画一条波浪线?

在iOS上使用CGContextRef。

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 

结果:

海浪

例:

 - (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]; } 

结果:

Curve.png

创build一个NSBezierPath ,并使用你的点作为控制点。