iOS中简单的画线功能


最近在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:方法,因为这是系统负责调用的。

运行截图:

转载于:https://my.oschina.net/are1OfBlog/blog/495951

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值