iOS drawRect绘画

绘画只在UIView中执行,需要新建UIView的子类

#if0
// 画一条线
- (void)drawRect:(CGRect)rect{
    CGContextRef ref = UIGraphicsGetCurrentContext(); // 拿到当前画板,在这个画板上画就是在视图上画
    CGContextBeginPath(ref); // 开始绘画
   
    CGContextMoveToPoint(ref, 0, 0); // 画线
    CGContextAddLineToPoint(ref, 300, 300);
   
    CGFloat redColor[4] = {1.0, 0, 0, 1.0};
    CGContextSetStrokeColor(ref, redColor); // 设置当前画笔的颜色,这两句可以用[[UIColor whiteColor] setStroke]代替;
    CGContextStrokePath(ref); // 对移动的路径画线
}
#endif
 
#if 1
// 画三角
- (void)drawRect:(CGRect)rect{
    CGContextRef ref = UIGraphicsGetCurrentContext();
    CGContextSetRGBStrokeColor(ref, 0.5, 0.5, 0.5, 1.0);
    CGContextSetLineWidth(ref, 3.0); // 让线条变粗
    CGPoint points[] = { // 设置四个点画三条线让线连起来
        CGPointMake(100, 100),
        CGPointMake(50, 300),
        CGPointMake(300, 500),
        CGPointMake(100, 100),
    };
    CGContextAddLines(ref, points, sizeof(points) / sizeof(points[0]));
    CGFloat redColor[4] = {1.0, 0, 0, 1.0};   
    CGContextSetFillColor(ref, redColor); // 填充颜色,这两句可使用[[UIColor redColor] setFill];
    CGContextDrawPath(ref, kCGPathFillStroke); // 画填充的图案
 
}
#endif
 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS实际开发中常用的动画无非是以下四种:UIView动画,核心动画,帧动画,自定义转场动画。 1.UIView...
    请叫我周小帅阅读 3,169评论 1 23
  • 注:此文章来源:Job_Yang 的简书 1. Object-c的类可以多重继承么?可以实现多个接口么?Categ...
    广益散人阅读 1,363评论 0 13
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,277评论 1 23
  • 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是...
    方圆十里不留母狗阅读 2,402评论 5 6
  • 心脏的跳动痛楚比你伤心的感官敏感 不是谁是谁非 享一时安宁附一生躁动 来也行去也行不想不动不思考 看得见想的多自闭...
    x_9686阅读 252评论 0 0