iOS中简单的画线功能

原创
2015/08/23 12:38
阅读数 1.3W

最近在iOS开发中,需要使用iOS的画线功能,画线的方法可以写在一个Controller视图中,当然这不是最好的方式,建议还是自定义一个UIView,并重写drawRect:方法,这样后面方便使用,并且不会造成代码的冗长与啰嗦。

一、新建一个类,继承自UIView

重写drawRect:方法:

- (void)drawRect:(CGRect)rect {
    
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineCap(context, kCGLineCapRound);
    CGContextSetLineWidth(context, 3);  //线宽
    CGContextSetAllowsAntialiasing(context, true);
    CGContextSetRGBStrokeColor(context, 70.0 / 255.0, 241.0 / 255.0, 241.0 / 255.0, 1.0);  //线的颜色
    CGContextBeginPath(context);
    
    CGContextMoveToPoint(context, 0, 0);  //起点坐标
    CGContextAddLineToPoint(context, self.frame.size.width, self.frame.size.height);   //终点坐标
    
    CGContextStrokePath(context);
}

二、在其他类中调用

- (void)viewDidLoad {
    [super viewDidLoad];
    
    CustomLine *line = [[CustomLine alloc] init];
    line.backgroundColor = [UIColor whiteColor];
    line.frame = self.view.frame;
    [self.view addSubview:line];
}

三、需要注意的问题:

    在这里直接运行,就会出现画的线段,但是我在项目中写的时候,发现画线并没有出现(项目使用的是swift),说明系统没有自动的调用drawRect:方法,这里就需要我们在Controller视图中手动的调用[line setNeedsDisplay];   这句话是手动的让系统去调用drawRect:方法。

注意不要试图手动去调用drawRect:方法,因为这是系统负责调用的。

运行截图:

展开阅读全文
打赏
1
7 收藏
分享
加载中
发现你挺喜欢写博客的啊
2015/08/23 13:28
回复
举报
更多评论
打赏
1 评论
7 收藏
1
分享
返回顶部
顶部