如何在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]; }
结果:
创build一个NSBezierPath
,并使用你的点作为控制点。