核心图形第1部分

Core Graphics是IOS内建的绘图框架,当系统内建的样式无法满足您的需求时,可以拿一张图丢进元件中代替原本的图样,或者用Core Graphics绘制出需要的样式。

当你想要在一个元件上做绘图时,你需要在draw(_ rect:CGRect)里面添加Core Graphic的程序代码,以下使用UIView作为示例:

这是一个UIBezierPath已经内建的方法椭圆形,但路径本身并不会有任何动作,所以需要一个fill来填满这个封闭的路径,当然也可以改变它的颜色。

在这边如果要看到你每一次修改的结果,可能会觉得很麻烦需要一直重新构建你的模拟器,Xcode里面有个属性@IBDesignable可以让Storyboard中的查看及时更新。

除了填满(fill)的方法之外,还有无填满(stroke)的方法:

在上面的示例可以看到因为有线宽的关系,在边界会被切掉一些,所以试图不要让图形完全贴合在视图的边上,尤其是在无填满的状况下尤其明显。

上面的例子都是一个完整的图形,那若是要画线条呢?在UIBezierPath的有移动与addLine的方法:

利用前面介绍过的方法应该能够组合出很简单的图形

在Core Graphic上绘图都是一层一上上去的,如果换个顺序,把最细长的矩形quad往下放时

以下补充一些方法

这些方法都很常在图片中出现,可以自己尝试看效果会是某种子