Quartz2D - 基本图形绘制(线条)

Quartz2DiOS开发中的价值
为了便于搭建美观的 UI 界面, iOS 提供了 UIKit 框架,里面有各种各样的 UI 控件
UILabel :显示文字
UIImageView :显示图片
UIButton :同时显示图片和文字(能点击)

利用 UIKit 框架提供的控件,拼拼凑凑,能搭建和现实一些简单、常见的 UI 界面
但是,有些 UI 界面极其复杂、而且比较个性化,用普通的 UI 控件无法实现,这时可以利用 Quartz2D 技术将控件内部的结构画出来,自定义控件的样子
其实, iOS 中大部分控件的内容都是通过 Quartz2D 画出来的
因此, Quartz2D iOS 开发中很重要的一个价值是:自定义 view (自定义 UI 控件)

//
//  DrawLine.m


#import "DrawLine.h"

@implementation DrawLine


/*
 在这个方法里绘制图形。
 只有在这个方法里才能获取到跟这个View的layer相关联的图形上下文(context)
 
 绘图步骤:
    1.获取上下文
    2.创建路径(描述路径)
    3.把路径添加到上下文
    4.渲染上下文
 */
- (void)drawRect:(CGRect)rect
{
    // UIKit已经封装了一些绘图的功能
   
    // 创建路径
    UIBezierPath *path = [UIBezierPath bezierPath];
    
    // 设置起点
    [path moveToPoint:CGPointMake(50, 50)];
    // 添加一根线到某个点
    [path addLineToPoint:CGPointMake(200, 200)];
    
    // 绘制路径
    [path stroke];
}

/**
 *  画线的第二种方法
 */
- (void)drawLine1
{
    // 1.获取图形上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    // 2.描述路径
    // 设置起点
    CGContextMoveToPoint(ctx, 50, 50);
    // 添加一根线到某个点
    CGContextAddLineToPoint(ctx, 200, 200);
    
    // 渲染上下文
    CGContextStrokePath(ctx);
}

/**
 *  画线的第一种方式
 */
- (void)drawLine
{
    // 1.获取图形上下文
    // 目前我们所用的上下文都是以UIGraphics开头
    // 目前使用到的类型和函数 一般都是以CG开头
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    // 2.描述路径
    // 创建路径
    CGMutablePathRef path = CGPathCreateMutable();
    // 设置起点
    CGPathMoveToPoint(path, NULL, 50, 50);
    // 添加一根线到某点
    CGPathAddLineToPoint(path, NULL, 200, 200);
    
    // 3.把路径添加到图形上下文
    CGContextAddPath(ctx, path);
    
    // 4.渲染上下文
    CGContextStrokePath(ctx);
}

@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值