iOS核心图形编程

iOS开发CoreGraphics核心图形框架之六——梯度渐变

半腔热情 提交于 2019-12-04 06:00:13
iOS开发CoreGraphics核心图形框架之六——梯度渐变 一、引言 关于颜色梯度渐变视图的创建,CoreGraphics框架中提供了两个类型CGShadingRef与CGGradientRef。CoreGraphics框架在绘制梯度渐变时,有两种绘制方式,分别为轴向绘制与径向绘制。轴向绘制是指确定两个点,起点与终点连接的直线作为梯度渐变的轴,垂直于此轴的线共享相同的颜色,由起点向终点进行颜色渐变。径向渐变是指由两个圆连接成圆台,在同一圆周上的所有点共享相同的颜色,由起始圆向终点圆进行颜色渐变。 轴向渐变: 径向渐变: 前面说到,CGShadingRef与CGGradientRef都可以用于创建梯度渐变视图,这两个类型在使用使又有一些不同,CGShadingRef在使用使需要开发者为其提供一个颜色计算方法,CGGradientRef则不需要,相比之下,CGGradientRef更像是为了方便开发者使用而从CGShadingRef中扩展出的一个类型。 二、使用CGGradientRef创建梯度渐变视图 创建一个UIView子类,在其drawRect:方法中编写如下测试代码: -(void)drawRect:(CGRect)rect{ CGGradientRef gradientRef; CGColorSpaceRef colorSpaceRef; CGFloat locs[2]