电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

iOS給border設置漸變色的方法實例

瀏覽:3日期:2022-09-16 18:29:30
前言

本文將從4行代碼出發給一個view設置漸變色,分別會談到幾個重要的漸變色相關屬性,在使用過程中有幾個需要特別關注的點。

給一個view的border設置漸變色是比較高階的用法,希望本文可以在這個方面幫助到你。

給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)

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

漸變色會根據colors數組來展示,這個數組的類型是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。在這里,數組中的第一個元素0.2指定了colors數組中第一個元素紅色的終點是0.2,也就是說把整個漸變色范圍分成10份,從開始到2/10處都是純紅色,從2/10到8/10處是純紅色到純黃色的漸變,而從8/10到10/10是純黃色。

給view的border設置漸變色

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

... // 同上給view設置gradientLayer let shapeLayer = CAShapeLayer()shapeLayer.borderWidth = 1shapeLayer.path = UIBezierPath(roundedRect: gradientLayer.bounds, cornerRadius: 10).cgPathshapeLayer.fillColor = UIColor.clear.cgColor // 必須要設置成clearColor或者nil,默認是黑色shapeLayer.strokeColor = UIColor.white.cgColor // 隨便設置一個非clearColor的顏色 gradientLayer.mask = shapeLayerview.layer.addSublayer(gradientLayer) borderWidth shapeLayer的border寬度和view的相同,可以根據設計圖來設置。 cornerRadius UIBezierPath的圓角和view的圓角相同;roundedRect和CAGradientLayer的大小相同。 fillColor 是shapeLayer的填充色,默認是黑色,建議設置成nil或者是透明色clearColor strokeColor 是border的描邊色,如果設置成clearColor的話就不會繪制出來border了,這里隨便一個顏色就是讓其能夠繪制出來,實際使用的是漸變色 mask 用shapeLayer作為gradientLayer的mask,可以讓gradientLayer內部挖空,只保留邊緣border的漸變顏色 最終把漸變色layer添加到view.layer上,shapeLayer只是用來修飾gradientlayer的,目的是把gradientlayer的內部挖空,并且把border和圓角做出來。 總結

通過這篇文章我們了解了怎么給一個view設置漸變色,并詳細闡述了漸變色的幾個重要屬性。關于給border設置漸變色是一個進階的知識點。

到此這篇關于iOS給border設置漸變色的文章就介紹到這了,更多相關iOS border漸變色內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IOS
相關文章:
主站蜘蛛池模板: 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 广东成考网-广东成人高考网| 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 净化板-洁净板-净化板价格-净化板生产厂家-山东鸿星新材料科技股份有限公司 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 耐火浇注料-喷涂料-浇注料生产厂家_郑州市元领耐火材料有限公司 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 小型气象站_车载气象站_便携气象站-山东风途物联网 | 河南彩印编织袋,郑州饲料编织袋定制,肥料编织袋加工厂-盛军塑业 河南凯邦机械制造有限公司 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 中山市派格家具有限公司【官网】| 宝鸡市人民医院| ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 工业设计,人工智能,体验式3D展示的智能技术交流服务平台-纳金网 J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 重庆中专|职高|技校招生-重庆中专招生网 | 扒渣机,铁水扒渣机,钢水扒渣机,铁水捞渣机,钢水捞渣机-烟台盛利达工程技术有限公司 | 优宝-汽车润滑脂-轴承润滑脂-高温齿轮润滑油脂厂家 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 干洗店加盟_洗衣店加盟_干洗店设备-伊蔻干洗「武汉总部」 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 超声波反应釜【百科】-以马内利仪器| 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 365文案网_全网创意文案句子素材站 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 |