以前不用自己切图,现在要自己切图,看到设计稿有好多不同规格的渐变色的背景,一个一个切的话好麻烦,没有想到iOS本来就可以实现渐变色。也就是今天的主角CAGradientLayer。
渐变色使用的类是CAGradientLayer,有两个要素,渐变颜色的起点和终点,渐变的颜色集合
简单示例:
//设置渐变颜色 CAGradientLayer * gradientLayer=(CAGradientLayer层); gradientLayer.frame=view.bounds; [gradientLayer改变颜色:[NSArray arrayWithObjects: (id) (RGB (139、48、164) CGColor], (id) (RGB (61、189、255) CGColor], (id) (RGB (37、182、82) CGColor], nil nil)]; (视图。层addSublayer gradientLayer):;>之前<>强效果如下图左:强>
1, CAGradientLayer是CALayer图层类的子类,用于处理渐变色的层结构。
2, CAGradientLayer的坐标系统是从坐标(0,0)到(1,1)绘制的矩形。
UIView * myView=[[UIView alloc] initWithFrame: CGRectMake (50 50 200 200)]; (自我。视图addSubview myView):; CAGradientLayer * gradientLayer=(CAGradientLayer层); gradientLayer.frame=myView.bounds;//设置渐变颜色数组 gradientLayer。颜色=@ [(__bridge id)[用户界面颜色redColor]。CGColor (__bridge id)(用户界面颜色greenColor]。CGColor (__bridge id)(用户界面颜色blueColor] .CGColor];//渐变颜色的区间分布 gradientLayer。位置=@ (@0.25,@0.5,@0.75);//起始位置 gradientLayer。曾经繁荣=CGPointMake (0,0);//结束位置 gradientLayer。端点=CGPointMake (0,1); [myView。层addSublayer: gradientLayer];
当然,实际使用的肯定比这个颜值高很多的,效果展示:
<强>代码如下:强>
#定义FHCColorFromRGB (rgbValue)[用户界面颜色colorWithRed:((浮动)((rgbValue,0 xff0000)在祝辞16))/255.0绿色:((浮动)((rgbValue,0 xff00)在祝辞8))/255.0蓝色:((浮动)(rgbValue,0 xff))/255.0 alpha: 1.0) UIView * myView=[[UIView alloc] initWithFrame: CGRectMake (50 50 200 200)]; (自我。视图addSubview myView):; CAGradientLayer * gradientLayer=(CAGradientLayer层); gradientLayer.frame=myView.bounds; gradientLayer=(CAGradientLayer层); gradientLayer。颜色=@ [(__bridge id) FHCColorFromRGB (0 x01b6ff)。CGColor (__bridge id) FHCColorFromRGB (0 x4392f6) .CGColor]; gradientLayer。位置=@ (@0.1,@1.0); gradientLayer。曾经繁荣=CGPointMake (0,0); gradientLayer。端点=CGPointMake (1.0, 0); [myView。层addSublayer: gradientLayer];
是不是美美哒& # 63;当然你可以把它封装成一个类别,以便下次使用。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。