问题标签 [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 投票
0 回答
329 浏览

swiftui - SwiftUI:LazyVGrid 滚动时不刷新

我有一个显示搜索结果的 LazyVGrid,当我在搜索字段中键入字符时,我执行 CoreData 获取请求并更新@Published属性。

问题:
LazyVGrid 按预期更新结果,除非它当前正在滚动:在这种情况下,它将等待滚动减速并在刷新之前结束。

作为比较,在 UIKit 中我可以使用 UICollectionView 并调用.reloadData()它,它会立即刷新网格,无论它是否滚动。

出于测试目的,我尝试了以下操作但没有成功:

  • 添加.animation(nil)视图修饰符
  • 添加.id(UUID())视图修饰符
  • 当我想刷新视图时更新 a @State var dummy = "",并在视图的主体中使用它,例如:Text(dummy)

贝娄是一些代码来帮助可视化这个东西是如何工作的

知道如何让 LazyVGrid 在滚动动画运行时刷新它的内容事件吗?否则对用户来说感觉没有反应。

0 投票
0 回答
64 浏览

swiftui - SwiftUI:文本动画在第二行不起作用

当我在 TextField 中键入内容时,我试图确保在整个动态文本视图中具有一致的动画。

在此处输入图像描述

注意动画在第一行是平滑的,然后在第二行下降?

请对此提供任何帮助。

FYI 代码取自此处(组合框架)。

非常感谢!

0 投票
1 回答
37 浏览

swiftui - SwiftUI:动画在 Zstack 中覆盖文本

我的应用程序看起来很暗,我不知道它是否真的很重要,但我正在我的应用程序上制作动画(复杂的 UI - 自定义滑出菜单),然后在我做的一切都很好并且我的黑暗外观的布局看起来很好,每次我出于某种原因按下一个按钮时,它都会用动画覆盖按钮,尽管使用背景和 zstack 让在后台显示但从不显示..请帮我找出问题..

我的代码


0 投票
2 回答
263 浏览

swift - 每次视图出现时,SwiftUI .onAppear withAnimation 都会加快速度。为什么?

我的应用程序中有正在进行的动画,这些动画是使用更新属性触发onAppear和配置的。withAnimation@State

每次视图出现时,动画都会比以前快一点,所以如果视图被显示,然后被模态显示覆盖或隐藏在导航中,然后再次出现,动画开始运行非常非常快——可能是 10 或 20比它应该的要快几倍。

这是代码...

知道每次视图重新出现时导致加速的原因吗?有什么建议可以解决这个问题吗?

(注意:这是运行 Xcode 13.0 beta 4)

0 投票
1 回答
81 浏览

swift - SwiftUI:使用非 @State var 时出现意外动画

我需要一些帮助。我创建了以下可重用视图,我们称之为MyCustomCapsuleView

在此处输入图像描述

没什么特别的,只是背景中Text有一个Capsule。当用户打开它时,这个视图会有不同的外观。

在此处输入图像描述

当用户打开它时,MyCustomCapsuleViewpadding 应该增加到 17 以考虑新外观所需的额外空间。此外,它应该:

  1. 放大和缩小
  2. 开始摆动

当用户关闭它时,MyCustomCapsuleView填充应该回到 3,因为不再需要额外的空间。此外,它应该:

  1. 停止摆动
  2. 再次放大和缩小

我能够获得此功能的版本,但填充无法正常工作。摆动时MyCustomCapsuleView,填充在 3 到 17 之间来回移动(参见黄色背景)。

在此处输入图像描述

  1. 任何想法我做错了什么?我怎样才能实现我需要的行为?注意:由于这个视图是可重用的,我需要我的视图的“关闭”版本保持填充 = 3。我将在我的应用程序的不同部分使用它,并且仅在某些地方“打开/关闭”版本将是可用,并且仅在那些地方,我的视图的填充是 17。

  2. 为什么旋转(摆动效果)看起来如此奇怪?我尝试了不同的锚点单元点(中心、尾随等),但它们似乎都没有让我好看。

谢谢你的帮助!

这是我的代码:

0 投票
1 回答
52 浏览

swift - 使用 Timer 用颜色填充整个屏幕 - SwiftUI

我正在尝试使用计时器并用颜色填充屏幕。简单地说:我用\(UIScreen.main.bounds.height)得到屏幕高度,然后用selectedTime划分它,比如说\(120)秒。问题出现在这里:屏幕填满了 232,而不是 844.0 屏幕尺寸,它在 32 秒而不是 120 秒内填满。我可能错过了一些东西。相关代码部分:

进度输出

最后,是否可以使动画流畅?

我的期望

0 投票
1 回答
143 浏览

swift - 如何将 SwiftUI 状态从特定值更改为新状态值的动画?

我有一个矩形视图,当位置状态发生变化时,我会为位置设置动画。这隐含地从原始点动画到新的状态值。

每次位置状态发生变化时,如何从特定位置设置动画。例如,我想从 (0.5, 0.5) 而不是原始位置动画到新的位置状态。这将使视图出现在位置 (0.5, 0.5) 然后动画到新的位置状态。

这是默认动画

在此处输入图像描述

这是我要应用的动画

在此处输入图像描述

0 投票
1 回答
39 浏览

animation - 同一视图中的 SwiftUI 动画显示不同

在第一部分没有问题,但在第二部分我的动画有问题。在第一部分和第二部分使用相同的视图。

在第二部分中,文本左右移动。但我不想那样。我希望文本像第一部分一样保持稳定。

在此处输入图像描述

剖面视图:

(option == 1) = 图片在左边,文字在右边。(选项 == 2)= 右侧的图像,左侧的文本。

主视图模型:

我在这里添加部分。

如您所见,我在添加的两个 CategorySection 中使用了相同的视图。在第一部分中,动画正常显示,但在第二部分显示动画时,文本左右移动。这是什么原因?

类别截面模型:

使用剖面视图:

我在这里使用我在 MainViewModel 中添加的部分。

PoliceSignsSectionIconView(此处为动画):

我在这个页面上应用了我的动画。

0 投票
0 回答
99 浏览

ios - 在不指定 DispatchQueue 的情况下使用 withAnimation 会发生什么

问题是,如果我注释掉 DispatchQueue.main.async,整个视图会从左上角或屏幕向外扩展。

如果我在某处放置一个按钮并在单击按钮时执行不带 DispatchQueue.main.async 的 withAnimation 任务,则它可以正常工作

有谁知道会发生什么?

我正在使用 XCode(版本 12.5.1 (12E507))我的 mac 正在运行 macos big sur 11.4 (20F71)

0 投票
1 回答
162 浏览

ios - SwiftUI 奇怪的动画通过 NavigationLink 过渡到新视图?

InsightsHomeView从列表中的任何项目过渡到InsightsCard任何想法可能导致此问题或如何修复 时,我都遇到了奇怪的动画行为?在此处输入图像描述

//从此视图导航:

//到这个视图: