SwiftUI中三大渐变色的介绍

在SwiftUI中,渐变色是一种常用的视觉效果,用于创建平滑过渡的颜色变化。通过使用渐变色,我们可以实现丰富多彩的界面设计,增强用户体验。

1. 渐变色的种类和用途

种类:

  1. 线性渐变(Linear Gradient):沿着一条直线方向渐变。
  2. 径向渐变(Radial Gradient):从一个中心点向外辐射渐变。
  3. 角度渐变(Angular Gradient):围绕中心点按照一定角度方向渐变。

用途:
渐变色常用于按钮、背景、文本等元素的样式设计,使界面更加生动和吸引人。

2. 线性渐变(Linear Gradient)

概念:
线性渐变是沿着一条直线方向渐变的效果,由起始颜色和结束颜色组成。

基本用法:

LinearGradient(gradient: Gradient(colors: [Color.red, Color.blue]), startPoint: .top, endPoint: .bottom)

参数解释:
gradient:指定渐变的颜色数组。
startPoint:指定渐变的起始点,取值类型为UnitPoint
endPoint:指定渐变的结束点,取值类型为UnitPoint

代码举例:

var body: some View {
    VStack(spacing: 30, content: {
      RoundedRectangle(cornerRadius: 25)
        .fill(
          LinearGradient(gradient: Gradient(colors: [Color.red, Color.blue]), startPoint: .top, endPoint: .bottom)
        )
        .frame(width: 300, height: 200)
      RoundedRectangle(cornerRadius: 25)
        .fill(
          LinearGradient(gradient: Gradient(colors: [Color.cyan.opacity(0.4), Color.cyan]), startPoint: .topLeading, endPoint: .bottomTrailing)
        )
        .frame(width: 300, height: 200)
    })
  }

在这里插入图片描述

3. 径向渐变(Radial Gradient)

概念:
径向渐变是从一个中心点向外辐射渐变的效果,由中心颜色和边缘颜色组成。

基本用法:

RadialGradient(gradient: Gradient(colors: [Color.yellow, Color.orange]), center: .center, startRadius: 0, endRadius: 100)

参数解释:
gradient:指定渐变的颜色数组。
center:指定渐变的中心点,取值类型为UnitPoint
startRadius:指定渐变的起始半径。
endRadius:指定渐变的结束半径。

代码举例:

var body: some View {
    VStack(spacing: 30, content: {
      Circle()
        .fill(
          RadialGradient(gradient: Gradient(colors: [Color.blue.opacity(0.3), Color.blue]), center: .center, startRadius: 0, endRadius: 150)
        )
        .frame(width: 300, height: 300)
      Rectangle()
        .fill(
          RadialGradient(gradient: Gradient(colors: [Color.cyan.opacity(0.3), Color.blue]), center: .topLeading, startRadius: 0, endRadius: 300)
        )
        .frame(width: 300, height: 200)
    }

在这里插入图片描述

4. 角度渐变(Angular Gradient)

概念:
角度渐变是围绕中心点按照一定角度方向渐变的效果,由多个颜色组成。
苹果官方给出的解释为(如翻译不准,请见谅):

角度渐变也被称为“锥形”渐变。这种渐变根据角度的变化应用颜色函数,相对于一个中心点和定义的起始和结束角度。如果 endAngle - startAngle > 2π,则渐变只绘制最后一个完整的圈。如果 endAngle - startAngle < 2π,则渐变会用渐变位置为零和一的颜色填充缺失的区域,在缺失区域的中间过渡两种颜色。渐变将单位空间中心点映射到填充有渐变的每个形状的边界矩形中。

基本用法:

AngularGradient(gradient: Gradient(colors: [Color.purple, Color.orange, Color.green]), center: .center, startAngle: .degrees(0), endAngle: .degrees(360))

参数解释:
gradient:指定渐变的颜色数组。
center:指定渐变的中心点,取值类型为UnitPoint
startAngle:指定渐变的起始角度。
endAngle:指定渐变的结束角度。

代码举例:

var body: some View {
    VStack(spacing: 30, content: {
      Circle()
        .fill(
          AngularGradient(gradient: Gradient(colors: [Color.purple.opacity(0.3), Color.purple]), center: .center, startAngle: .degrees(0), endAngle: .degrees(180))
        )
        .frame(width: 300, height: 300)
      Capsule()
        .fill(
          AngularGradient(gradient: Gradient(colors: [Color.purple, Color.orange, Color.green]), center: .center, startAngle: .degrees(0), endAngle: .degrees(360))
        )
        .frame(width: 300, height: 200)
    })
  }

在这里插入图片描述

通过以上介绍,您现在了解了SwiftUI中三种常用的渐变色类型:线性渐变、径向渐变和角度渐变。希望这些信息能帮助您更好地运用渐变色来设计各种吸引人的界面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/626245.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

oracle多条重复数据,取最新的

1、原理讲解-可直接看2 筛选出最新的 SELECT * FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY LOCALAUTHID ORDER BY LASTUPDATETIME DESC) AS rn FROM USER_LOCALAUTH_STATE t ) t WHERE t.rn 1; 解释&#xff1a; 这个序号是基于[LOCALAUTHID]字段进行分…

计算机vcruntime140.dll找不到如何修复,分享5种靠谱的修复教程

当您在运行某个应用程序或游戏时遇到提示“找不到vcruntime140.dll”&#xff0c;这通常意味着系统中缺少了Visual C Redistributable for Visual Studio 2015或更高版本的一个重要组件。这个错误通常发生在运行某些程序时&#xff0c;系统无法找到所需的动态链接库文件。小编将…

ASP.NET医药进销存系统

摘 要 目前&#xff0c;大中型城市的多数药品店已经实现了商品管理、客户管理、销售管理及销售管理等的信息化和网络化&#xff0c;提高了管理效率。但是&#xff0c;在大多数小药品店&#xff0c;药品店管理仍然以传统人工管理为主&#xff0c;特别是在药品的采购、销售、库…

电商核心技术揭秘56:客户关系管理与忠诚度提升

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘相关系列文章合集&#xff08;3&#xff09; 文章目录 引言客户关系管理&#xff08;CRM&#xff09;的重要性提升顾客体验数据驱…

Springboot打包jar如何后台启动和查看日志?

如何后台启动Spring Boot的fat jar 使用nohup命令启动&#xff1a; 在Linux或Unix系统中&#xff0c;你可以使用nohup命令来启动jar包&#xff0c;以确保即使你关闭了终端或断开了SSH连接&#xff0c;程序仍然可以在后台运行。命令格式如下&#xff1a;nohup java -jar yourapp…

PCie协议之-TLP Header详解(一)

✨前言&#xff1a; 在PCIe通信过程中&#xff0c;事务层数据包&#xff08;Transaction Layer Packets&#xff0c;简称TLP&#xff09;扮演着非常重要的角色。TLP用于在设备之间传递数据和控制信息&#xff0c;它们是PCIe的基本信息传输单元。 TLP可分为几个部分&#xff0c…

硬盘格式化后能恢复数据吗?这个恢复方法电脑小白也能用!

硬盘格式化后能恢复数据吗&#xff1f;对于这个问题需要先了解清楚硬盘格式化和数据恢复的原理了。 目前我们所说的硬盘格式化通常都是指“快速格式化”&#xff0c;一般来说当我们在清理磁盘空间或者新建磁盘分区时会使用到这个功能&#xff0c;最终的结果就是清除掉磁盘上的…

“打工搬砖记”中吃什么的轮盘功能实现(二)

文章目录 打工搬砖记转盘主要的逻辑实现转盘的素材小结 打工搬砖记 先来一个吃什么轮盘的预览图&#xff0c;这轮盘文案加字呈圆形铺出来&#xff0c;开始后旋转到指定的选项处停下来。 已上线小程序“打工人搬砖记”&#xff0c;可以扫码进行预览观看。 转盘主要的逻辑实现…

【Unity Shader入门精要 第7章】基础纹理补充内容:MipMap原理

1.纹理采样 我们对纹理采样进行显示的过程&#xff0c;可以理解为将屏幕上的一个像素&#xff08;下文用像素表示&#xff09;映射到纹理上的一个像素&#xff08;下文用纹素表示&#xff09;&#xff0c;然后用纹理上的这个像素的颜色进行显示。 理想情况下&#xff0c;屏幕…

AcqKnowledge 5.0使用方法

Biopac 数据导入 matlab 处理方法 第一步&#xff1a;在 AcqKnowledge 软件中&#xff0c;将数据通道的 mark 信息导入到 Graph&#xff0c;并将数据存储为 acq3 的格式 第二步&#xff1a;MATLAB中读取acq3文件脚本 clc clear %%%所有被试这一层路径 pathsub fullfile(file…

【JavaEE】HTTP 协议

文章目录 一、HTTP 协议1、HTTP 是什么2、理解 "应用层协议"3、理解 HTTP 协议的工作过程4、HTTP 协议格式5、HTTP 请求 (Request)5.1 认识 URL 6、 二、HTTPS1、HTTPS是什么2、"加密" 是什么3、HTTPS 的工作过程3.1 对称加密3.2 非对称加密3.3 证书3.4 完…

iOS——消息传递和消息转发

消息传递&#xff08;Message Passing&#xff09;&#xff1a; 在 iOS 中&#xff0c;消息传递机制是基于 Objective-C 语言的动态性质的一种编程方式。这种机制主要涉及到两个概念&#xff1a;发送者&#xff08;即消息的发送对象&#xff09;和接收者&#xff08;即消息的接…

RS422一主多从MAX3490

RS422一主多从MAX3490 最近项目用到了RS422一主多从&#xff0c;一个主机4个从机。芯片用的MAX3490&#xff0c;几经折腾&#xff0c;最终只能从一拖4改为一拖2。 主机发送端&#xff0c;从机4个接收端都是正常的&#xff0c;没有问题。波形非常完美&#xff0c;没有太大变形 …

matlab使用2-基础绘图

matlab使用2-基础绘图 文章目录 matlab使用2-基础绘图1. 二维平面绘图2. 三维立体绘图3. 图形窗口的分割 1. 二维平面绘图 % 创建一些二维数据 x 0:0.01:10; % x轴的数据点&#xff0c;从0到10&#xff0c;间隔为0.01 y sin(x); % y轴的数据点&#xff0c;是x的正弦…

版本控制:软件开发的基石(一文读懂版本控制)

未经允许&#xff0c;禁止转载&#xff01; 在现代软件开发中&#xff0c;版本控制是不可或缺的工具。它帮助开发者跟踪和管理代码的变化&#xff0c;协作完成项目&#xff0c;并确保代码的完整性和安全性。本文将基于Git官网的视频“什么是版本控制”来深入探讨版本控制的基本…

pyqt QComboBox下拉列表框控件

pyqt QComboBox下拉列表框控件 QComboBox效果代码 QComboBox QComboBox 是 PyQt&#xff08;中的一个控件&#xff0c;它允许用户从下拉列表中选择一个选项。这个控件在需要用户从预定义选项中进行选择时非常有用。 效果 代码 import sys from PyQt5.QtWidgets import QAppl…

转发_重定向

1.Servlet/JSP单独使用的弊端 当我们用Servlet或者JSP单独处理请求的时候 Servlet&#xff1a;拼接大量的html字符串 造成可读性差、难以维护JSP&#xff1a;使得html和Java代码互相交织 也造成了可读性差、难以维护的后果 最合适的做法就是两者结合使用 2.ServletJSP处理请…

宿舍管理系统代码详解(主页面)

本篇将对管理系统的主页面的代码进行详细的介绍。 目录 一、主页面前端代码 1.样式展示 2.代码详解 &#xff08;1&#xff09;template部分 &#xff08;2&#xff09;script部分 &#xff08;3&#xff09;路由导航守卫 &#xff08;4&#xff09;在vue中引用vue 一、主页…

数据库的三大范式!!!初学者必看

数据库的三大范式&#xff01;&#xff01;&#xff01;初学者必看 三大范式是 Mysql数据库设计表结构所遵循的规范和指导方法目的是为了减少冗余&#xff0c;建立结构合理的数据库&#xff0c;从而提高数据存储和使用的性能。 三大范式之间是具有依赖关系的&#xff0c;比如第…

java 并发线程应用

java 并发线程相关 线程状态 新建(NEW): 创建后尚未启动。可运行(RUNABLE): 正在 Java 虚拟机中运行。但是在操作系统层面,它可能处于运行状态,也可能等待资源调度(例如处理器资源),资源调度完成就进入运行状态。所以该状态的可运行是指可以被运行,具体有没有运行要看底层…