我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

iOS给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渐变色内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

前言 本文将从4行代码出发给一个view设置渐变色,分别会谈到几个重要的渐变色相关属性,在使用过程中有几个需要特别关注的点。 给一个view的border设置渐变色是比较高阶的用法,希望本文可以在这个方面帮助到你。 给view设置渐变色通过
2022-05-25

iOS给border设置渐变色的案例

这篇文章给大家分享的是有关iOS给border设置渐变色的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。给view设置渐变色通过4行代码就可以给一个view设置渐变色:let view = UIView(fr
2023-06-08

css设置渐变色的方法

这篇文章给大家分享的是有关css设置渐变色的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法:1、使用linear-gradient设置线性渐变,语法“linear-gradient(角度,颜色,颜色)”;
2023-06-14

css设置颜色渐变的方法

这篇文章将为大家详细讲解有关css设置颜色渐变的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css设置颜色渐变的方法:1、使用css3中的“Linear Gradients”属性实现颜色线性渐变;2
2023-06-14

iOS实现简易的导航栏颜色渐变实例代码

前言 很多App首页要做成类似天猫和京东的导航栏,实现在页面滑动过程中导航栏渐变的效果。笔者之前在项目里用过一个三方,后来更新版本失效了,于是决定结合自己对导航栏的认识来实现一下这个功能。完成一个简易的iOS导航栏颜色渐变方案。 【文末附运
2022-06-04

html设置背景径向渐变的方法

这篇文章主要介绍了html设置背景径向渐变的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。在html中,可以使用radial-gradient函数设置径向渐变,只需要在元素background属性里加入“backgr
2023-06-15

iOS设置圆角的4种方法实例(附性能评测)

四种设置圆角的方法从网上收集了各种设置圆角的方法,总结起来有以下四种: 1、设置 layer 的 cornerRadiusview.layer.masksToBounds = YES; view.layer.cornerRadius = i
2022-06-03

iOS开发技巧之状态栏字体颜色的设置方法

状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 一、在info.plist中,将View controller-based status ba
2022-05-18

利用CSS实现文字渐变效果的方法和示例

CSS是一种用于美化网页的技术标准,除了可以控制字体、颜色、布局等方面,还可以实现文字渐变效果。文字渐变效果可以为网页添加更加丰富多样的视觉效果,让文字更加吸引人。本文将介绍几种常用的利用CSS实现文字渐变的方法,并给出相应的代码示例。方法
2023-10-21

Android应用中设置alpha值来制作透明与渐变效果的实例

Android系统支持的颜色是由4个值组成的,前3个为RGB,也就是我们常说的三原色(红、绿、蓝),最后一个值是A,也就是Alpha。这4个值都在0~255之间。颜色值越小,表示该颜色越淡,颜色值越大,表示该颜色越深。如果RGB都是0,就是
2022-06-06

Shell alias给命令设置别名的实现方法

给命令设置别名,你可以把它当作命令的"小名",但是这样做有什么意义呢? 比如笔者刚接触 linux 时,使用的编辑器是 Vi,但是现在 Vim 的功能明显比 Vi 的功能更加强大,所以现在流行的编辑器变成了 Vim。但是笔者已经习惯了输入
2022-06-04

Android编程实现简单设置按钮颜色的方法

本文实例讲述了Android编程实现简单设置按钮颜色的方法。分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片2.main.xml
2022-06-06

Android编程实现TextView字体颜色设置的方法小结

本文实例讲述了Android编程实现TextView字体颜色设置的方法。分享给大家供大家参考,具体如下: 对于setTextView(int a)这里的a是传进去颜色的值。例如,红色0xff0000是指0xff0000如何直接传入R.col
2022-06-06

Android编程设置全屏的方法实例详解

本文实例讲述了Android编程设置全屏的方法。分享给大家供大家参考,具体如下: 在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果。其一,通过在代码中可以设置,其二,通
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录