成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

iOS給border設置漸變色的案例-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關iOS給border設置漸變色的案例的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

按需網站建設可以根據(jù)自己的需求進行定制,成都網站設計、做網站構思過程中功能建設理應排到主要部位公司成都網站設計、做網站的運用實際效果公司網站制作網站建立與制做的實際意義

給view設置漸變色

通過4行代碼就可以給一個view設置漸變色:

let view = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
let gradientLayer = CAGradientLayer()
gradientLayer.frame = view.bounds
// @[(__bridge id)[UIColor redColor].CGColor, (__bridge id)[UIColor yellowColor].CGColor]
gradientLayer.colors = [UIColor.red.cgColor, UIColor.yellow.cgColor]
view.layer.addSublayer(gradientLayer)

在創(chuàng)建CAGradientLayer以后需要設置frame才能展示出來,否則它的大小會使用默認的0。

漸變色會根據(jù)colors數(shù)組來展示,這個數(shù)組的類型是CGColorRef,所以需要用.cgColor強制轉換;如果使用的OC語法,必須加上(__bridge id),否則漸變色會顯示不出來。

默認情況下漸變會從上至下,可是通過設置startPoint和endPoint來改變這個順序:

gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 1, y: 1)

這兩個點的范圍是從0到1,也就是說最左邊和最上邊是0,最下和最右是1。這個例子中漸變會變成從左上角到右下角。

漸變色還有一個重要的屬性是locations,這個屬性是用來指定colors中設置的每個顏色的終點的。

gradientLayer.locations = [0.2, 0.8]

locations中元素的范圍是從0到1。在這里,數(shù)組中的第一個元素0.2指定了colors數(shù)組中第一個元素紅色的終點是0.2,也就是說把整個漸變色范圍分成10份,從開始到2/10處都是純紅色,從2/10到8/10處是純紅色到純黃色的漸變,而從8/10到10/10是純黃色。

給view的border設置漸變色

使用UIBezierPath來創(chuàng)建一個帶圓角的CAShapeLayer,并且把它的圓角設置成view的圓角,就可以把一個view的border設置為漸變色。

... // 同上給view設置gradientLayer
  
let shapeLayer = CAShapeLayer()
shapeLayer.borderWidth = 1
shapeLayer.path = UIBezierPath(roundedRect: gradientLayer.bounds, cornerRadius: 10).cgPath
shapeLayer.fillColor = UIColor.clear.cgColor // 必須要設置成clearColor或者nil,默認是黑色
shapeLayer.strokeColor = UIColor.white.cgColor // 隨便設置一個非clearColor的顏色
  
gradientLayer.mask = shapeLayer

view.layer.addSublayer(gradientLayer)
  1. borderWidth shapeLayer的border寬度和view的相同,可以根據(jù)設計圖來設置。

  2. cornerRadius UIBezierPath的圓角和view的圓角相同;roundedRect和CAGradientLayer的大小相同。

  3. fillColor 是shapeLayer的填充色,默認是黑色,建議設置成nil或者是透明色clearColor

  4. strokeColor 是border的描邊色,如果設置成clearColor的話就不會繪制出來border了,這里隨便一個顏色就是讓其能夠繪制出來,實際使用的是漸變色

  5. mask 用shapeLayer作為gradientLayer的mask,可以讓gradientLayer內部挖空,只保留邊緣border的漸變顏色

  6. 最終把漸變色layer添加到view.layer上,shapeLayer只是用來修飾gradientlayer的,目的是把gradientlayer的內部挖空,并且把border和圓角做出來。


感謝各位的閱讀!關于“iOS給border設置漸變色的案例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享文章:iOS給border設置漸變色的案例-創(chuàng)新互聯(lián)
分享網址:http://jinyejixie.com/article2/djspic.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供做網站、網站策劃、App開發(fā)、微信小程序、建站公司網站維護

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網站建設
汶川县| 射阳县| 广东省| 咸阳市| 寿光市| 巧家县| 大悟县| 龙井市| 桂东县| 井陉县| 平南县| 望江县| 云林县| 湄潭县| 杨浦区| 威信县| 博客| 临高县| 嘉兴市| 夏河县| 安吉县| 永福县| 长治市| 湖州市| 舞阳县| 昭通市| 达孜县| 神木县| 古田县| 广宁县| 舞钢市| 东至县| 江源县| 辽阳市| 台北县| 环江| 兴仁县| 翁源县| 平阳县| 久治县| 莒南县|