SwiftUI动画之几何匹配

SwiftUI动画之几何匹配

记录一下 日常开发中经常使用到的滑块功能 如何同工几何匹配快速制作点击动画

import SwiftUIstruct MatchedGeometryEffestExamle: View {let categories = ["Home", "Popular", "Saved"]@State var selecedTitle = "Home"/// 使用@Namespace 来声明对应命名空间,给系统使用@Namespace private var namespacevar body: some View {HStack {ForEach(categories, id: \.self) { title inVStack(content: {Text(title).font(.headline).frame(maxWidth: .infinity).frame(height: 35).onTapGesture {withTransaction(Transaction.init(animation: .easeInOut)) {selecedTitle = title}}.foregroundColor(selecedTitle == title ? .red : .black)if selecedTitle == title {RoundedRectangle(cornerRadius: 10).fill(.red)/// 通过匹配id 和 namespace 系统做动画的时候就可以知道这是同一个对象,然后就自动给先后出现的为宜添加对应的效果.matchedGeometryEffect(id: "MatchedGeometryEffestExamle_RoundedRectangle", in: namespace).frame(width: 35, height: 2)}})}}.padding()}
}#Preview {MatchedGeometryEffestExamle()
}

效果如下:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 利用uni-list 和 uni-load-more 组件上拉加载列表

列表的加载动作,在移动端开发中随处可见,笔者也是经常用到。今天正好有空,做一个总结,方便以后使用。uniapp 利用uni-list 和 uni-load-more 组件上拉加载列表操作步骤如下:1、资料准备 1)、uni-load-more…

安装python、pycharm,打好基础,准备飞起

python安装使用 安装python安装包 以下为自定义安装python安装包,无特殊要求可直接进行安装。 勾选Add Python 3.6 to PATH, 然后点击 Customize installation,进行自定义安装。 所有的都勾上,然后点击Next。 可选择自己需要…

如何重置iPhone的网络设置?这里提供详细步骤

前言 本文介绍如何重置iPhone上的网络设置。该信息适用于iPhone 12到iPhone 6以及iOS 14到iOS 8。 如何在iPhone上重置网络设置 采取以下步骤重置iPhone上的网络设置: 1、在iPhone上,打开设置应用程序。 2、单击通用。 3、滚动到屏幕底部&#xff…

从大模型到Agentscope——分布式Multi-Agent应用开发与部署

目录 Why需要分布式 案例 多进程的分布书版本能快速提升速度 分布式的挑战 AgentScope分布式解决 方案 实现RPC Agent 基于Actor模式的并行调度缺点:需要Agent内部决定消息传递目标 被调用的Agent立即返回占位符placeholder to_dist: 开启自动将单机进行扩展…

【C语言初阶(五)】数组

❣博主主页: 33的博客❣ ▶文章专栏分类: C语言从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 目录 1. 前言2.一维数组的概念3.一维数组的创建和初始化3.1数组的创建3.2数组的初始化3.3数组的类型 4.一维数组的使用4.1数组下标4.2数组元素打印4.4数组元…

解决游戏程序一运行就退出的问题

正文: 在游戏开发过程中,我们可能会遇到程序一运行就立即退出的情况。这种情况通常是由于程序中的某些逻辑错误或初始化问题导致的。 下面我们将分析可能的原因,并提供一些解决方案。 目录 正文: 原因分析: 解决方案…

媒体发稿:澳门媒体发稿7个流程

推广平台澳门是一个重要的度假旅游娱乐终点,都是媒体领域热议的话题。对于澳门的媒体发稿营销推广要求,大家提供了一个简单易用的套餐系统软件,帮助大家在澳门媒体上发表推广文章。下面我们就根据7个阶段,详解构建这一套餐推广平台…

Git版本管理--远程仓库

前言: 本文记录学习使用 Git 版本管理工具的学习笔记,通过阅读参考链接中的博文和实际操作,快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: 重学Git-Git远程仓库管理_git remote add origin-CSDN博客 Git学习笔记&am…

springboot“财来财往”微信小程序

摘 要 相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低理财公司的运营人员成本,实现了“财来财往”的标准化、制度化、程序化的管理,有效地防止了“财来财往”的随意管理,提高了信息的处理速度和精确度,能…

通义灵码(智能编码助手)

文章目录 前言一、介绍二、安装三、使用3.1 快捷键3.2 根据注释生成代码3.3 解释代码3.4 生成单元测试3.5 生成代码注释3.6 生成优化建议 四、异常报错排查五、设置总结 前言 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多…

单片机FLASH深度解析和编程实践(上)

本篇文章主要针对单片机FLASH编程和FLASH基本原理进行学习分享。以STM32单片机作为实例进行编程实训。 关于FLASH操作的相关寄存器及编程,大家可以参考下一篇文章: 单片机FLASH深度解析和编程实践(下)-CSDN博客 目录 一、STM32编程方式 二、…

MySQL数据导入的方式介绍

MySQL数据库中的数据导入是一个常见操作,它涉及将数据从外部源转移到MySQL数据库表中。在本教程中,我们将探讨几种常见的数据导入方式,包括它们的特点、使用场景以及简单的示例。 1. 命令行导入 使用MySQL命令行工具mysql是导入数据的…