亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS中利用CAGradientLayer繪制漸變色的方法實例

2019-10-21 18:43:54
字體:
來源:轉載
供稿:網友

前言

以前不用自己切圖,現在要自己切圖,看到設計稿有好多不同規格的漸變色的背景,一個一個切的話好麻煩,沒有想到iOS本來就可以實現漸變色。也就是今天的主角CAGradientLayer。

漸變色使用的類是CAGradientLayer,有兩個要素,漸變顏色的起點和終點、漸變的顏色集合

簡單示例:

//設置漸變顏色 CAGradientLayer *gradientLayer = [CAGradientLayer layer]; gradientLayer.frame = view.bounds; [gradientLayer setColors:[NSArray arrayWithObjects:(id)[RGB(139, 48, 164) CGColor],(id)[RGB(61, 189, 255) CGColor],(id)[RGB(37, 182, 82) CGColor], nil nil]]; [view.layer addSublayer:gradientLayer]; 

效果如下圖左:

ios,繪制漸變色,cagradientlayer,繪制顏色漸變

原理詳解

1、CAGradientLayer是CALayer圖層類的子類,用于處理漸變色的層結構。

2、CAGradientLayer的坐標系統是從坐標(0,0)到(1,1)繪制的矩形。

ios,繪制漸變色,cagradientlayer,繪制顏色漸變

3、CAGradientLayer的frame值的size不為正方形的話,坐標系統會被拉伸。

4、CAGradientLayer的startPoint與endPoint會直接影響顏色的繪制方向。

5、CAGradientLayer的顏色分割點是以0~1的比例來計算的,顏色分割點為漸變色開始或終止的地方。

CAGradientLayer屬性介紹

  • colors:漸變顏色數組
  • locations:漸變顏色的區間分布(分割點),locations的數組長度和colors一致。這個屬性可不設,默認是nil,系統會平均分布顏色如果有特定需要可設置,數組設置為0 ~ 1之間單調遞增。
  • startPoint:映射locations中起始位置,用單位向量表示。比如(0, 0)表示從左上角開始變化。默認值是:(0.5, 0.0)。
  • endPoint:映射locations中結束位置,用單位向量表示。比如(1, 1)表示到右下角變化結束。默認值是:(0.5, 1.0)。
  • type:默認值是kCAGradientLayerAxial,表示按像素均勻變化。

CAGradientLayer例子

最簡單的三原色漸變例子

效果展示

ios,繪制漸變色,cagradientlayer,繪制顏色漸變

代碼示例

 UIView * myView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)]; [self.view addSubview:myView];  CAGradientLayer * gradientLayer = [CAGradientLayer layer]; gradientLayer.frame = myView.bounds;// 設置漸變顏色數組 gradientLayer.colors = @[(__bridge id)[UIColor redColor].CGColor,(__bridge id)[UIColor greenColor].CGColor,(__bridge id)[UIColor blueColor].CGColor];// 漸變顏色的區間分布 gradientLayer.locations = @[@0.25,@0.5,@0.75];// 起始位置 gradientLayer.startPoint = CGPointMake(0, 0);// 結束位置 gradientLayer.endPoint = CGPointMake(0, 1); [myView.layer addSublayer:gradientLayer];

當然,實際使用的肯定比這個顏值高很多的,效果展示:

ios,繪制漸變色,cagradientlayer,繪制顏色漸變

代碼如下:

#define FHCColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] UIView * myView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)]; [self.view addSubview:myView]; CAGradientLayer * gradientLayer = [CAGradientLayer layer]; gradientLayer.frame = myView.bounds; gradientLayer = [CAGradientLayer layer]; gradientLayer.colors = @[(__bridge id)FHCColorFromRGB(0x01b6ff).CGColor, (__bridge id)FHCColorFromRGB(0x4392f6).CGColor]; gradientLayer.locations = @[@0.1, @1.0]; gradientLayer.startPoint = CGPointMake(0, 0); gradientLayer.endPoint = CGPointMake(1.0, 0); [myView.layer addSublayer:gradientLayer];

是不是美美噠?當然你可以把它封裝成一個類別,以便下次使用.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩综合视频| 不卡av电影院| 国产婷婷色综合av蜜臀av| 原创国产精品91| 亚洲成人激情图| 91社区国产高清| 欧美性69xxxx肥| 欧美激情在线有限公司| 久久久久久这里只有精品| 欧美猛少妇色xxxxx| 精品女同一区二区三区在线播放| 亚洲精品天天看| 国产精品一二三视频| 欧美电影《睫毛膏》| 日韩电影在线观看永久视频免费网站| 日韩av影片在线观看| 国产精品爱久久久久久久| 精品国产老师黑色丝袜高跟鞋| 久久亚洲精品中文字幕冲田杏梨| 欧美黄色三级网站| 久久久99免费视频| 自拍偷拍亚洲在线| 国产精品一区二区av影院萌芽| 亚洲成avwww人| 久久国产精品首页| 亚洲视频在线视频| 91精品国产91久久久久久久久| 欧美成人午夜激情在线| 欧美二区乱c黑人| 国语自产在线不卡| 亚洲aⅴ男人的天堂在线观看| 在线观看精品自拍私拍| 精品呦交小u女在线| 色噜噜国产精品视频一区二区| 亚洲视频在线看| 日本精品性网站在线观看| 国产精品吹潮在线观看| 亚洲国产精品va| 亚洲天天在线日亚洲洲精| 国产剧情日韩欧美| 日韩av手机在线观看| 欧美日韩激情小视频| 疯狂做受xxxx高潮欧美日本| 粉嫩av一区二区三区免费野| 欧美中在线观看| 91精品国产高清久久久久久| 亚洲网站在线观看| 九九热精品视频在线播放| 亚洲欧美日韩成人| 色综合久久88色综合天天看泰| 中国china体内裑精亚洲片| 欧美诱惑福利视频| 国产美女精品免费电影| 国产一区二区三区毛片| 91亚洲一区精品| 国产aⅴ夜夜欢一区二区三区| zzjj国产精品一区二区| 日韩欧美主播在线| 欧美激情亚洲视频| 国内精品久久久久伊人av| 96sao精品视频在线观看| 久久免费视频在线观看| 琪琪第一精品导航| 久久久国产91| 91成人免费观看网站| 一区二区欧美在线| 久久乐国产精品| 日韩精品视频免费专区在线播放| 色综合久久久888| xxx成人少妇69| 狠狠做深爱婷婷久久综合一区| www.久久色.com| 欧洲亚洲免费在线| 国产欧美日韩最新| 亚洲精品福利资源站| 91在线高清免费观看| 国产女精品视频网站免费| 日韩免费在线视频| 欧美视频精品一区| 国产精品流白浆视频| 国产午夜精品美女视频明星a级| 成人免费在线视频网站| 久久精品亚洲国产| 18一19gay欧美视频网站| 亚洲精品白浆高清久久久久久| 欧美福利视频网站| 欧美限制级电影在线观看| 欧美中文字幕在线| 亚洲欧美国内爽妇网| 日韩av免费看网站| 91在线中文字幕| 欧美韩日一区二区| 国产美女直播视频一区| 欧美日韩在线观看视频| 亚洲91精品在线观看| 宅男66日本亚洲欧美视频| 九九视频这里只有精品| 久久在线免费视频| 欧美激情精品在线| 久久99久久久久久久噜噜| 色婷婷综合久久久久| 亚洲最大的免费| 亚洲午夜精品久久久久久久久久久久| 亚洲国产精彩中文乱码av| 丝袜亚洲另类欧美重口| 亚洲国产精彩中文乱码av在线播放| 国产精品1234| 国模吧一区二区| 少妇精69xxtheporn| 欧美成人免费大片| 欧美一级成年大片在线观看| 欧美性xxxxx极品娇小| www.亚洲一区| 色噜噜狠狠狠综合曰曰曰| 91在线视频免费| 4p变态网欧美系列| 久久久午夜视频| 久久久久久久久久久久久久久久久久av| 精品爽片免费看久久| 亚洲国产精品久久精品怡红院| 亚洲国产小视频| 日韩高清电影好看的电视剧电影| 国产视频精品自拍| 国产精品精品视频一区二区三区| 欧美成人免费播放| 亚洲成人久久久| 97福利一区二区| 国产日本欧美一区| 国内免费久久久久久久久久久| 久久天天躁狠狠躁夜夜爽蜜月| 久久精品成人一区二区三区| 亚洲第一福利视频| 国产福利视频一区二区| 亚洲最新在线视频| 欧美一级免费视频| 国产福利精品av综合导导航| 国产一区二区三区在线播放免费观看| 欧美影院成年免费版| 国外成人在线视频| 精品国产一区二区三区久久| 国产精品视频自拍| 欧美香蕉大胸在线视频观看| 国产成人一区三区| 国产精品看片资源| 国产精品免费在线免费| 97精品国产97久久久久久春色| 日韩在线观看av| 亚洲高清不卡av| 亚洲无线码在线一区观看| 日韩精品在线视频| 成人高h视频在线| 欧美日韩在线影院| 一本色道久久88亚洲综合88| 亚洲精品xxx| 日韩av男人的天堂| 欧洲成人在线视频| 欧美wwwxxxx| 亚洲网在线观看| 一本大道久久加勒比香蕉| 自拍偷拍亚洲一区| 久久久久久噜噜噜久久久精品| 欧美久久精品一级黑人c片| 欧美有码在线观看视频| 欧美丝袜一区二区三区|