UIBezierPath 使用
2015-09-09 14:33
706 查看
UIBezierPath这个类呢主要用于绘图。
之前的项目中需要绘图的部分都是用Core Graphics来绘制,OC是我的第一门语言,所以对于Core Graphics的C语言API不太适应,最近发现原来苹果的UIKit中已经对Core Graphics做了一些简单的封装,UIBezierPath就是其中一个。UIBezierPath已经完全满足了我对绘图的一些基本要求。
UIBezierPath的好处显而易见。
* 首先它是OC语言的,相对于c语言的Core Graphics来说更为平易近人。 * 其次它能够使用ARC,如果我们直接使用CGPathRef的话,还要自己负责在合适的时候释放。
现在我就根据自己的使用来做一下简单记录。
* 创建path * 添加路径到path * 将path绘制出来
例如我们来画条线:
?
同样的我们也可以画一个圆
?
除了画线、画圆之外,我们还可以画其他各种图形。 具体的方法你都可以在UIBezierPath的头文件里面找到,而使用过程和Core Graphics基本一致。
其中有一个地方是需要我们注意的。就是颜色的设置。
UIBezierPath颜色的设置并没有包含在自己类中,而是通过UIColor直接设置的。
例:
?
看上去是UIColor的方法,其实也是对于CGContextRef的渲染,最终还是作用到CGConextRef上的
而UIBezierPath其实也就是对CGPathRef的封装
所以UIBezierPath通过UIColor的方法来设置颜色也就不奇怪了。
因为UIColor和UIBezierPath最终还是通过Core Graphics的方法来绘图的,只不过苹果又封装了一层OC。
最后结合上面那个画圆的例子,把颜色添加进去,再来看下效果。
?
UIBezierPath绘图是不是相当的简单。当然简单的使用也可以有很炫的效果,具体你可以自行查阅文档,里面可以有很多变化哦。
之前的项目中需要绘图的部分都是用Core Graphics来绘制,OC是我的第一门语言,所以对于Core Graphics的C语言API不太适应,最近发现原来苹果的UIKit中已经对Core Graphics做了一些简单的封装,UIBezierPath就是其中一个。UIBezierPath已经完全满足了我对绘图的一些基本要求。
UIBezierPath的好处显而易见。
* 首先它是OC语言的,相对于c语言的Core Graphics来说更为平易近人。 * 其次它能够使用ARC,如果我们直接使用CGPathRef的话,还要自己负责在合适的时候释放。
现在我就根据自己的使用来做一下简单记录。
使用
UIBezierPath的使用相当简单,分为三步:* 创建path * 添加路径到path * 将path绘制出来
例如我们来画条线:
?
同样的我们也可以画一个圆
?
除了画线、画圆之外,我们还可以画其他各种图形。 具体的方法你都可以在UIBezierPath的头文件里面找到,而使用过程和Core Graphics基本一致。
其中有一个地方是需要我们注意的。就是颜色的设置。
UIBezierPath颜色的设置并没有包含在自己类中,而是通过UIColor直接设置的。
例:
?
而UIBezierPath其实也就是对CGPathRef的封装
所以UIBezierPath通过UIColor的方法来设置颜色也就不奇怪了。
因为UIColor和UIBezierPath最终还是通过Core Graphics的方法来绘图的,只不过苹果又封装了一层OC。
最后结合上面那个画圆的例子,把颜色添加进去,再来看下效果。
?
UIBezierPath绘图是不是相当的简单。当然简单的使用也可以有很炫的效果,具体你可以自行查阅文档,里面可以有很多变化哦。
相关文章推荐
- java图形界面gui
- UICollectionView详解三
- UICollectionView详解二
- fix an error while building native gdb via ct-ng
- UICollectionView详解一
- 浅谈 easyui tabs 的href和content属性
- SpannableString、SpannableStringBuilder与String的关系
- while中尽量不使用Continue,不论什么编程语言
- unique函数和unique_copy函数
- 通过xib加载textfield的时候 发生 this class is not key value coding-compliant for the key textField. 情况怎么解决
- MySQL提示:The server quit without updating PID file问题的解决办法
- Py的UUID介绍
- Build Instructions (Windows) - The Chromium Projects
- UICollectionView学习<1>之UICollectionView的简单使用
- Android Junit Test(semc-build编译并且生成emma coverage)
- UIView简单用法
- serialVersionUID的作用
- druid 数据源 使用属性文件的一个坑
- 将keystore签名文件转为flash builder用到的p12签名证书
- GPUImage