如何使用 swiftUI 创建平滑的颜色变化动画? (有问题的例子)

2024-01-14

I have a play/pause button that changes when pressed. At the moment it just fades in and out but I would like it to perform a animation that looks like the new colour is flowing over the old one. enter image description here

这是我到目前为止所拥有的:

if(meditationViewModel.timerIsRunning){
    HStack{
        Image(systemName: "pause")
        Text("STOP")
            .bold()
     }
      .padding()
      .foregroundColor(.white)
      .background(Color.red)
      .cornerRadius(25)
      .shadow(radius: 20)
}else{
    HStack{
        Image(systemName: "play")
        Text("PLAY")
            .bold()
    }
     .padding()
     .foregroundColor(.white)
     .background(Color.green)
     .cornerRadius(25)
}

的变化meditationViewModel.timerIsRunning发生在其他地方。


这是可能方法的演示 - 只需在文本和不透明背景之间使用某种形状(在本例中为圆形)并根据状态移动它。

使用 Xcode 12.4 / iOS 14.4 准备

注意:您可以仅使用点击手势而不是按钮并调整所有参数和颜色,但总的来说,想法保持不变

struct DemoView: View {
    @State private var playing = false
    var body: some View {
        Button(action: { playing.toggle() }) {
            HStack{
                Image(systemName: playing ? "pause" : "play")
                Text(playing ? "STOP" : "PLAY")
                    .bold()
            }
            .background(
                Circle().fill(Color.purple)
                    .frame(width: 160, height: 160, alignment: .leading)
                    .blur(radius: 3)
                    .offset(x: playing ? 0 : -160, y: -40)
                    .animation(.easeInOut(duration: 1), value: playing)
            )
            .padding()
            .foregroundColor(.white)
            .background(Color.green)
            .cornerRadius(25)
            .clipped()
            .shadow(radius: 20)
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 swiftUI 创建平滑的颜色变化动画? (有问题的例子) 的相关文章

  • iOS WebView 空白

    我已使用 YouTube 的标准嵌入网址在我的 iOS 8 3 应用程序中嵌入了 YouTube 视频 sample http www youtube com embed HkAK9QRe4ds 它按预期工作 但看起来很奇怪 那个白色间隙
  • 通过 ObservableObject 向下传递 GestureState 属性

    我有一个ObservableObject其成员属性为 GestureState包装纸 在我看来 我如何访问GestureState财产 我已经尝试过使用点表示法 绑定尝试公开 GestureState 但它不喜欢那样 我的应用程序状态Obs
  • 如何在应用程序打开或关闭的情况下在后台的特定日期时间快速运行任务

    我正在开发闹钟应用程序 我需要在特定时间安排闹钟 我使用scheduleLocalNotification用于安排警报 它工作正常 如我所愿 BUT在触发警报之前 我需要向 API 服务器发出请求 在该请求中 我想检查从 API 服务器返回
  • 检查文件是否是别名 Swift

    如何在 Mac 上检查文件是否为别名 到目前为止 这是我的代码 public func getFiles let folderPath Users timeBro Desktop testfolder let fileManager NSF
  • SwiftUI ScrollView 无法禁用垂直弹跳?

    初始化程序中有一个带有 ScrollView alwaysBounceVertical false 的属性 但我似乎找不到它了 有谁知道如何禁用 SwiftUI ScrollView 上的垂直弹跳 过度滚动 是的 它已从 ScrollVie
  • 查询链接到 GeoFire 的 firebase 数据

    读完这些问题后 将 Geofire 位置与 Firebase 条目关联 https stackoverflow com questions 33885733 associate geofire location with firebase
  • 如何求一个值的n次方根?

    在 Swift 中 找到一个值的 n 次根的最简单方法是什么 我们知道数字 x 的 N 次方根相当于 x 的 N 倒数次幂 知道了这一点 我们可以使用pow求 N 次方根的函数 let nthRoot pow base 1 n where
  • UIView表面自定义变换/动画(如“水滴效果”)

    实施方式是什么自定义转换 动画 在视图表面 类似于所附图片 not只是视图边界 问题主要在于一般的方法是什么做到这一点 不完全是 水滴效应 但任何例子肯定会受到赞赏 我想 这是层布局 网格 的某种 算法 转换 但不确定以哪种方式 挖掘 它
  • Swift 中符合协议的泛型类型

    是否可以要求泛型类型的特定实例符合 Swift 中的协议 例如 假设我有一个名为的泛型类型Thing
  • 单击并按住 R 中的按钮闪亮?

    我希望能够通过单击 R 闪亮按钮来更改参数的值 所以我需要按钮 一个用于增加值 一个用于减少值 我想在按住按钮的同时保持值以一定的速度减少 增加 通过释放按钮的点击 动作应该停止 到目前为止我还没有找到这个选项actionButtons在
  • 如何在 Swift Joint 中创建自定义链?

    我正在尝试创建一个LocationManager组合的包装 我有一个发布者和一些触发发布者的函数 但是 我想将它们与自定义命令组合在一起 这是我到目前为止得到的 available OSX 10 15 iOS 13 tvOS 13 watc
  • iOS 9.3.2 破坏 MPMusicPlayerController

    我正在尝试将 Apple Music 集成到我的应用程序中 直到今天早上我才设法使其完美运行 更新到 iOS 9 3 2 后 一切都不一样了 权限系统的工作原理相同 SK云服务控制器 https developer apple com li
  • swift 中 pch 的替代品是什么?

    我想知道可以用什么来代替 swift 中的 pch 有没有 pch 的替代方案或方法可以快速摆脱导入 这样我们就不需要对所有类都这样做 我不想一直随身携带 进口 swift 中 pch 的最佳替代品是什么 您无法在 swift 中定义 宏
  • 如何在按钮上执行mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions PHP 单击按钮时如何执行 SQL
  • xcode 错误:...此类与键 ibShadowedLargeTitleTextAttributes 的键值编码不兼容

    我不断收到此错误 在我使用颜色集之前 该应用程序就可以运行 该错误说明了一些有关ibShadowedLargeTitleTextAttributes 我没有为大标题阴影设置任何颜色 我使用默认值 透明 我重新启动了 Xcode 使用了阴影颜
  • 如何在 SceneKit 中以编程方式将 png 纹理包裹在立方体周围

    我是 SceneKit 的新手 试图让一些基本的东西工作 但到目前为止还没有取得多大成功 由于某种原因 当我尝试将 png 纹理应用于 CNBox 时 我最终除了黑色之外什么也没有 这是我在 viewDidLoad 中的简单代码片段 let
  • Flipboard 动画

    有谁知道如何构建像 Flipboard 应用程序一样的翻转动画 谢谢 如果你指的是翻页过渡 请查看我编写的 OpenGL 过渡类 https github com epatel EPGLTransitionView https github
  • 在 Swift 中的 For 循环中更改对象的属性

    我创建了一个名为 ShoppingList 的简单结构 struct ShoppingList var shoppingListId NSNumber var title String var groceryItems GroceryIte
  • 使用 PDFOutline 将 TOC 添加到 Swift/Cocoa 中的 PDFDocument

    我正在开发一个小程序 将多个单页 PDF 合并到一个多页 PDF 中 我正在 Swift4 MacOS Cocoa 中工作 但我一生都无法在 Swift 中找到任何类型的示例来创建大纲 仅遍历现有的大纲 我对此非常熟悉 使用对文档的最佳猜测
  • 自动生成的 Swift 桥接标头中“找不到接口声明”

    我当前的项目包含 Swift 和 Objective C 代码 两种类型的源文件都使用另一种语言的代码 当我进行完全清理并重新编译时 几乎每个 Swift 类声明都出现错误Module Swift h 形式为 Cannot find int

随机推荐

  • 使用 Pandas to_datetime 将对象转换为日期时间不起作用

    所以我尝试使用以下方法将对象转换为 pandas 日期时间to datetime选项 但是它不起作用 My code ship date pd to datetime d shipmentDate print ship date head
  • iOS6 - 如何清除主屏幕/独立Web应用程序的缓存?

    Apple 似乎改变了 iOS 6 中主屏幕 独立 Web 应用程序的工作方式 根据各种博客文章 example http blog nsbasic com p 928 这些应用程序现在拥有自己的专用空间来存储缓存文件 sqlite 数据库
  • 阿尔法 + RGB -> ARGB?

    在as3中 是否有实用程序或函数可以将RGB颜色 例如0xFF0000 和alpha值 例如0 5 转换为A 32位ARGB值 从 ARGB 到 RGB alpha 一些解释 位图数据可以在其构造函数中采用 ARGB 值 但在精灵中填充形状
  • 如何使用 Django URL 命名空间?

    我正在努力掌握窍门Django URL 命名空间 http docs djangoproject com en dev topics http urls defining url namespaces 但我找不到任何示例或文档 这是我尝试过
  • CloudKit - 完整且完整的错误处理示例

    Apple 非常清楚 他们在每个视频中都表示 处理错误的 CloudKit 应用程序和不处理错误的 CloudKit 应用程序之间的区别就是工作应用程序和不处理错误的应用程序之间的区别 但是 我无法在任何地方找到每个错误含义的正确列表 哪些
  • Tensorflow/keras:“logits和标签必须具有相同的第一维”如何​​压缩logits或扩展标签?

    我正在尝试制作一个简单的 CNN 分类器模型 对于我的训练图像 BATCH SIZEx227x227x1 和标签 BATCH SIZEx7 数据集 我使用 numpy ndarrays 它们通过批量输入到模型中ImageDataGenera
  • 为什么不能以发布模式建立网站?

    在 ASP Net 中 如果我设置Web应用程序我可以将其配置为释放模式但有一个website我只能将配置设置为调试模式 为什么是这样 在网站项目中 每个页面都是根据第一次请求动态编译的 除非您在配置文件中另有指定 否则它将在不调试符号的情
  • Node js 单元测试:模拟需要依赖

    我在为以下设置编写单元测试作为 jira js 文件 在 node js 模块中 时遇到问题 var rest require restler https www npmjs com package restler module expor
  • 将 pyno 与我现有的 python 安装一起使用

    我正在尝试使用 PyUNO 作为从 Django 服务器内将不同文档格式 doc wordperfect html 等 转换为 PDF 的方法 我很难受import uno上班 做的时候好像失败了import pyuno 带有一条消息Imp
  • 从 Drupal 站点内重定向到新页面

    我正在使用 Drupal 站点 我们想要设置一个重定向到外部站点的特殊 URL 换句话说 如果http www mysite com http www mysite com是我们的 Drupal 网站 我们想要http www mysite
  • 美元符号和/或破折号破坏 Razor 的解析器

    我试图呈现的最终结果
  • clojurescript:触摸事件和 Domina

    我无法从 Domina 的 touchstart 事件中获取 touch 或 changedTouches 列表 这是我的 require 东西 ns myproj require macros hiccups core as h requ
  • 如何显示小时范围

    我有一个数据库表 以 TIME 格式存储餐厅的营业时间作为时间范围 例如 如果餐厅的营业时间是 上午 9 点至下午 5 点 则会有 2 列 hours open 和 hours close 我将 9 00 存储在 hours open 中
  • 如何查看文本通道的权限值? [不和谐.py]

    我想检查文本通道是否已将权限设置为特定值 特别是发送信息允许 基本上我想要这样的东西 bot command async def perm ctx channel discord TextChannel None if send messa
  • 如何获取视图中的列级依赖关系

    我已经对这个问题进行了一些研究 但还没有解决方案 我想要得到的是视图中的列级依赖关系 所以 假设我们有一张这样的表 create table TEST first name varchar 10 last name varchar 10 s
  • 滚动时图像变化

    继另一个那么问题 https stackoverflow com questions 15861645 change image on scroll 该脚本更改页面滚动上的图像 然而 如果该脚本用于包含 200 多个图像的视频帧 则该脚本将
  • 配置 redis 以一致地首先逐出旧数据

    我在 redis 中存储了一堆实时数据 我将所有按键的 TTL 设置为 14400 秒 4 小时 我已将 maxmemory 设置为 10G 目前内存中的空间不足以容纳 4 小时的数据 而且我没有使用虚拟内存 因此 Redis 会在数据过期
  • 如何计算每个id的总和

    使用水晶报表7 我想查看表1和表2的总和 table1 id name 001 raja 002 vijay 003 suresh table2 id value 001 100 001 200 001 150 002 200 003 15
  • 使用画布(三.js)覆盖画布(WebGL)

    我有两块画布 第一个应该是背景 其内容通过原始 WebGL 3D 渲染 第二个画布应该覆盖第一个画布 并且主要是透明的 它的内容通过 Three js 3D 内容 呈现 不幸的是 第二个画布不是绘制在第一个画布的上面 而是绘制在它的旁边 如
  • 如何使用 swiftUI 创建平滑的颜色变化动画? (有问题的例子)

    I have a play pause button that changes when pressed At the moment it just fades in and out but I would like it to perfo