我有很多点构造一条线。如何通过这些点绘制波浪线?
答案 0 :(得分:9)
在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
结果:
答案 1 :(得分:7)
示例:
- (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];
}
结果:
答案 2 :(得分:-1)
创建NSBezierPath
,并使用您的积分作为控制点。