返回顶部
首页 > 资讯 > 移动开发 >iOS给border设置渐变色的方法实例
  • 902
分享到

iOS给border设置渐变色的方法实例

iosborder渐变色 2022-05-25 01:05:36 902人浏览 独家记忆
摘要

前言 本文将从4行代码出发给一个view设置渐变色,分别会谈到几个重要的渐变色相关属性,在使用过程中有几个需要特别关注的点。 给一个view的border设置渐变色是比较高阶的用法,

前言

本文将从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 = 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的相同,可以根据设计图来设置。
  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和圆角做出来。

总结

通过这篇文章我们了解了怎么给一个view设置渐变色,并详细阐述了渐变色的几个重要属性。关于给border设置渐变色是一个进阶的知识点。

到此这篇关于iOS给border设置渐变色的文章就介绍到这了,更多相关iOS border渐变色内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: iOS给border设置渐变色的方法实例

本文链接: https://lsjlt.com/news/30490.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • iOS给border设置渐变色的方法实例
    前言 本文将从4行代码出发给一个view设置渐变色,分别会谈到几个重要的渐变色相关属性,在使用过程中有几个需要特别关注的点。 给一个view的border设置渐变色是比较高阶的用法,...
    99+
    2022-05-25
    ios border 渐变色
  • iOS给border设置渐变色的案例
    这篇文章给大家分享的是有关iOS给border设置渐变色的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。给view设置渐变色通过4行代码就可以给一个view设置渐变色:let view =...
    99+
    2023-06-08
  • 【iOS】设置背景渐变色
    drawRect函数 主要负责iOS的绘图操作,程序会自动调用此方法进行绘图。我在这个函数中绘制渐变背景色。 方法定义: -(void)drawRect:(CGRect)rect; 重写此方法,执行重...
    99+
    2023-09-17
    ios objective-c 开发语言
  • css设置渐变色的方法
    这篇文章给大家分享的是有关css设置渐变色的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法:1、使用linear-gradient设置线性渐变,语法“linear-gradient(角度,颜色,颜色)”;...
    99+
    2023-06-14
  • css设置颜色渐变的方法
    这篇文章将为大家详细讲解有关css设置颜色渐变的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css设置颜色渐变的方法:1、使用css3中的“Linear Gradients”属性实现颜色线性渐变;2...
    99+
    2023-06-14
  • iOS实现简易的导航栏颜色渐变实例代码
    前言 很多App首页要做成类似天猫和京东的导航栏,实现在页面滑动过程中导航栏渐变的效果。笔者之前在项目里用过一个三方,后来更新版本失效了,于是决定结合自己对导航栏的认识来实现一下这个...
    99+
    2022-06-04
    渐变 导航栏 颜色
  • iOS SwiftUI 颜色渐变填充效果的实现
    SwiftUI 为我们提供了各种梯度选项,所有这些选项都可以通过多种方式使用。 Gradient 渐变器 A color gradient represented as an arr...
    99+
    2022-05-15
    SwiftUI 颜色渐变
  • Swift绘制渐变色的方法
    本文实例为大家分享了Swift绘制渐变色的具体代码,供大家参考,具体内容如下 示意图: import Foundation import UIKit class Gradi...
    99+
    2024-04-02
  • CSS3中线性颜色渐变的实现方法
    本篇内容介绍了“CSS3中线性颜色渐变的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为了显示一个...
    99+
    2024-04-02
  • CSS3中颜色线性渐变的实现方法
    这篇文章主要讲解了“CSS3中颜色线性渐变的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3中颜色线性渐变的实现方法”吧!线性渐变可以设置3个...
    99+
    2024-04-02
  • css图片的边框如何设置颜色为渐变色
    这篇文章主要介绍css图片的边框如何设置颜色为渐变色,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在css中,可以利用border-image属性和li...
    99+
    2024-04-02
  • html设置背景径向渐变的方法
    这篇文章主要介绍了html设置背景径向渐变的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。在html中,可以使用radial-gradient函数设置径向渐变,只需要在元素background属性里加入“backgr...
    99+
    2023-06-15
  • android中实现背景图片颜色渐变方法
    常用,记录一下。 效果图: 首先新建xml文件  bg_gradient.xml 代码如下: <?xml version="1.0" encod...
    99+
    2022-06-06
    方法 图片 背景图 Android
  • Android TextView渐变颜色和方向及动画效果的设置详解
    GradientTextView Github点我 一个非常好用的库,使用kotlin实现,用于设置TexView的字体 渐变颜色、渐变方向 和 动画效果 添加依赖 之前仓库发布在...
    99+
    2024-04-02
  • CSS3中渐变的实现方法
    本篇内容主要讲解“CSS3中渐变的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS3中渐变的实现方法”吧!1、线性渐变语法:background: ...
    99+
    2024-04-02
  • 如何使用css3背景渐变中的透明度来设置不同颜色的背景渐变
    这篇文章主要讲解了“如何使用css3背景渐变中的透明度来设置不同颜色的背景渐变”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用css3背景渐变中的透明...
    99+
    2024-04-02
  • android自定义进度条渐变色View的实例代码
    最近在公司,项目不是很忙了,偶尔看见一个兄台在CSDN求助,帮忙要一个自定义的渐变色进度条,我当时看了一下进度条,感觉挺漂亮的,就尝试的去自定义view实现了一个,废话不说,先...
    99+
    2022-06-06
    view 进度条 Android
  • Android中如何设置TextView渐变颜色和方向及动画效果
    这篇文章主要介绍Android中如何设置TextView渐变颜色和方向及动画效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!添加依赖之前仓库发布在 jcenter,但是因为它即将不可用,近期已完成迁移。建议大家使用...
    99+
    2023-06-25
  • css文字颜色渐变的实现方式有哪些
    这篇文章主要为大家展示了“css文字颜色渐变的实现方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css文字颜色渐变的实现方式有哪些”这篇文章吧。  ...
    99+
    2024-04-02
  • 使用Python中pencolor函数实现渐变色功能的案例
    这篇文章给大家分享的是有关使用Python中pencolor函数实现渐变色功能的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pytho...
    99+
    2023-06-07
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作