IOS 绘制三角形的实例详解

IOS 绘制三角形的实例详解

先上效果图


上面三角形的代码

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

画三角形的类

#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 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。