iOS 绘制三角形

先上效果图

iOS 绘制三角形_第1张图片

绘制三角形的代码如下:

1、创建画三角形所需要的类LjDrawRect,具体如下

//.h文件的代码

#import@interface LjDrawRect : UIView

- (instancetype)initStartPoint:(CGPoint)startPoint middlePoint:(CGPoint)middlePoint endPoint:(CGPoint)endPoint color:(UIColor*)color;

@end


//.m文件的代码

#import "LjDrawRect.h"

@interface LjDrawRect ()

{

CGPoint _startPoint;

CGPoint _middlePoint;

CGPoint _endPoint;

UIColor  *_color;

}

@end

@implementation LjDrawRect

#pragma mark -

#pragma mark - method

- (instancetype)initStartPoint:(CGPoint)startPoint middlePoint:(CGPoint)middlePoint endPoint:(CGPoint)endPoint color:(UIColor*)color {

self = [super init];

if  (self) {

_startPoint = startPoint;

_middlePoint = middlePoint;

_endPoint = endPoint;

_color = color;

self.backgroundColor = [UIColor clearColor];

}

return self;

}

- (void)drawRect:(CGRect)rect {

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextBeginPath(context);//标记

CGContextMoveToPoint(context, _startPoint.x, _startPoint.y);

CGContextAddLineToPoint(context,_middlePoint.x, _middlePoint.y);

CGContextAddLineToPoint(context,_endPoint.x, _endPoint.y);

CGContextClosePath(context);//路径结束标志,不写默认封闭

[_color setFill]; //设置填充色

[_color setStroke];//边框也设置为_color,否则为默认的黑色

CGContextDrawPath(context, kCGPathFillStroke);//绘制路径path

}

@end


2、再调用下面的方法即可

- (void)ljTestView {

CGPoint piont1;

piont1.x = 170;

piont1.y = 100;

CGPoint piont2;

piont2.x = 50;

piont2.y = 200;

CGPoint piont3;

piont3.x = 220;

piont3.y = 200;

LjDrawRect *_ljView = [[LjDrawRect alloc] initStartPoint:piont1 middlePoint:piont2 endPoint:piont3 color:[UIColor redColor]];

_ljView.frame = CGRectMake(0, 64, kDEVICEWIDTH, kDEVICEHEIGHT - 64);

_ljView.backgroundColor = [UIColor yellowColor];

[self.view addSubview:_ljView];

}

你可能感兴趣的:(iOS 绘制三角形)