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

运行截图:

运行截图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当们晚上一个人走在繁华城市的街道上,可曾有那么一刻,想起在学校的某个晚上,熄灯前战友们挤在水房里嬉笑打闹时的疯狂?...
    徽常喜欢阅读 9,115评论 1 3
  • 代悲白头吟-刘希夷 洛阳城东桃李花,飞来飞去落谁家? 洛阳女儿好颜色,坐见落花长叹息。 今年花落颜色改,明年花开复...
    走在边缘阅读 251评论 1 1
  • 原创2017-04-06木兮溦时光 IJustWannaRunTheDowntownFiction-BestINe...
    溦时光阅读 124评论 0 0
  • 妈妈,谢谢你爱我! 妈妈,小孩有时候不知道自己是错的,大人要告诉他! 妈妈,我不听话的时候你抱抱我亲亲我,慢慢和我...
    托马mama阅读 464评论 0 0