问题标签 [swiftui-animation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
56 浏览

ios - 如何使用 SwiftUI 对 BezierPath 定义的自定义cornerRadius 进行动画更改?

我正在使用以下方法将圆角添加到 x 个角的视图中:

圆特定角 SwiftUI

这很好用。不幸的是,当我将此视图动画到另一个没有任何圆角的帧时,cornerRadius 没有动画。所有其他动画都可以正常工作。

为了说明这一点,下面显示了使用标准 .cornerRadius 修改器和使用上述扩展的自定义 .cornerRadius 修改器的角半径动画:

在此处输入图像描述

0 投票
0 回答
45 浏览

ios - SwiftUI 如何为具有两个以上动画点的 UIBezier 路径设置动画?

我正在尝试为 .contentShape 设置动画,其形状为使用 Bezier 路径构建的 Chat Bubble 到 Rectangle。

环顾四周,我发现我需要在我的 Shape 中定义 animatableData 才能工作。但是,我只能弄清楚如何为两点设置动画。我需要为多个点设置动画。

例如,我在下面有一个简单的矩形。我怎样才能使这个动画超过两点?

下面的示例我设法为两个点设置动画,它适用于这两个点。但在这里,我实际上需要为所有三个点(二、三和四)设置动画才能正常工作。

我对这一切都错了吗?是否有另一种更简单的方法来动画从一个形状到另一个形状的复杂路径?

下面首先是一个矩形示例,我可以在其中设置两个点的动画。下面是我的聊天气泡定义,我想将其动画化为一个普通的矩形。它在 .contentShape 中用于聊天应用程序中的图像。

在此处输入图像描述

这是我要转换为矩形的形状。此形状来自: https ://recreatecode.substack.com/p/recreate-the-messages-app-ios-14-67b

并使用:

0 投票
0 回答
61 浏览

swift - 如何为托管对象数组设置 ForEach 动画

我有一个托管对象,Treatment与另一个托管对象存在一对多关系TreatmentTime

我正在展示TreatmentTime与 a 中的给定关联的不同对象,Treatment并且ForEach我希望能够为添加和删除TreatmentTime's 设置动画。我已经尝试了很多东西,但都没有奏效。

任何建议将不胜感激。此外,如果您发现与我的代码有关的任何其他可以改进的地方,我也很想听听。

0 投票
1 回答
64 浏览

ios - SwiftUI .delay 离开和回来查看后动画时间不正确

此动画在第一次查看时按预期运行,但当应用退出然后进入(或者如果您离开屏幕并返回)时,时间会随机混乱。如何更改此代码以在离开屏幕并返回后保持动画时序一致?

可以通过退出并返回应用程序几次来重新创建错误。

正确的动画 几个应用退出并重新进入后

0 投票
1 回答
244 浏览

ios - SwiftUI - 同时动画视图过渡和位置变化

我有一个黄色的容器,里面有一个绿色的视图。我想移动容器,同时隐藏/显示内部绿色视图,并带有动画。目前,我使用.offset的是运动,以及if绿色视图过渡的声明。

问题是,虽然黄色容器移动了,但绿色视图却没有。它只是在目标偏移处淡入淡出。我希望它也能沿着黄色容器移动。

这是我目前得到的 这就是我要的
黄色容器左右移动,而绿色内部视图淡入淡出。 绿色视图保持在右侧 黄色容器随着绿色内部视图左右移动,绿色内部视图也会淡入淡出。

这是我的代码:

如何使绿色视图随着黄色容器一起移动,因为它淡入淡出?最好,我想继续使用iforswitch语句进行插入/删除。

0 投票
1 回答
24 浏览

swift - SwiftUI 动画表现怪异,或者我不知道如何使用它们

我已经在列表中设置了一个只有一个滑块和一个按钮的基本视图,出于某种原因,持续时间为 10 秒的动画几乎立即发生,事实上,无论我withAnimation在动画中放入什么看起来总是一样的。

代码:

隐式动画似乎也不起作用,但我想我只是不知道 Swift 动画是如何工作的,非常感谢任何帮助。

0 投票
1 回答
77 浏览

ios - 多视图过渡动画不会同时发生

在 SwiftUI 编程的早期,我基本上是在尝试在容器视图中显示卡片列表,显示最上面的卡片......每张卡片都有一个文本视图,当点击卡片视图时,它会从堆栈/容器中删除视图和下一个立即显示。我想在删除当前动画并呈现下一个动画的同时添加过渡动画,但到目前为止我运气不佳。令人惊讶的是,如果我使用 Bool 变量并使用它来显示/隐藏,过渡会按预期工作只有顶部卡片视图,但如果我想同时执行移除和插入,则不是..

这是具有 Binding 变量的视图模型:

这是卡片视图

卡片型号如下:

感谢是否有人可以指出它有什么问题。或者这不是理想的方法?

0 投票
1 回答
52 浏览

swift - SwiftUI .rotation3dEffect 动画在 Apple Watch 列表行中没有所需的深度效果

当 .rotation3dEffect 在 Apple Watch listRow 中设置动画时,该行似乎在前一行上方进行动画处理(这是所需的),但动画似乎发生在下一行下方,这破坏了 3d 效果。这个动画怎么也发生在下一行之上?

不需要的 3d 旋转动画

0 投票
1 回答
167 浏览

swiftui - SwiftUI 动画无法使用动画(_:value :)

在 SwiftUI 中,我已经设法在视图第一次绘制到屏幕时使用animation(_:)macOS 12 中已弃用的修饰符来制作 Button 动画。

我试图用新的animation(_:value:)修饰符替换它,但这次没有任何反应:所以这不起作用:

但是,这是有效的。为什么?

第二个示例在视图显示时为按钮设置动画,而第一个示例不执行任何操作

0 投票
1 回答
41 浏览

swift - SwiftUI WatchOS:动画放在列表中时表现异常?

我在下面有这个脉冲动画,它本身效果很好,但是当我把它放在里面时List,圆圈脉冲的动画是正确的,但是所有的圆圈也从顶部垂直移动到屏幕的中心?在 a 之外,list圆圈仍位于中心。为什么会list导致这种情况以及如何解决?