Xcode 11 Beta 3 动画不再有效
Posted
技术标签:
【中文标题】Xcode 11 Beta 3 动画不再有效【英文标题】:Xcode 11 Beta 3 animation no longer works 【发布时间】:2019-07-05 04:17:01 【问题描述】:我刚刚从 Xcode 11 Beta 2 更改为 Beta 3,虽然我还必须将 navigationButton 更改为 navigationLink,但一切正常,期待 .animation()
有其他人看到这个问题吗?他们改变了什么吗?我在 Beta 2 中工作得很好。
谢谢!!
import SwiftUI
struct BackGround : View
var body: some View
ZStack
Rectangle()
.fill(Color.gray)
.opacity(0.9)
.cornerRadius(15.0)
.shadow(radius: /*@START_MENU_TOKEN@*/10/*@END_MENU_TOKEN@*/)
.blur(radius: 5)
.padding(20)
.animation(.basic())
【问题讨论】:
它是如何失败的?编译时间?运行?顺便说一句,我什至在使用 Xcode Beta 3 让我的代码在我的 iPhone 上运行时遇到了问题——自从 Beta 2 可以编译后发生了变化,但运行时却说找不到符号。 感谢您的回复。它在模拟器中编译并运行,但不再有任何动画发生。在 beta 2 上运行良好 我也有同样的问题,但仅适用于 Xcode Previews,如果安装到模拟器上,动画可以工作,大大增加了开发动画的迭代循环 【参考方案1】:我发现如果我将视图的内容包装在 VStack 中,也许其他 Stacks 也可以工作,视图将在预览器中进行动画处理
这是一个视图的快速示例,如果包装在 PreviewProvider 中的 VStack 中,则该按钮将具有动画效果。但是如果 VStack 被移除,它将不再有动画效果。试试看!
struct AnimatedButton : View
@State var isAnimating: Bool = false
var body: some View
Button(action:
self.isAnimating.toggle()
)
Text("asdf")
.foregroundColor(Color.yellow)
.padding()
.background(Color(.Green))
.cornerRadius(20)
.animation(.spring())
.scaleEffect(isAnimating ? 2.0 : 1.0)
#if DEBUG
struct FunButton_Previews : PreviewProvider
static var previews: some View
VStack
AnimatedButton()
#endif
【讨论】:
以上是关于Xcode 11 Beta 3 动画不再有效的主要内容,如果未能解决你的问题,请参考以下文章
用 txt 文件中的字符串填充数组 [XCode6 Beta1 的解决方案不再有效]
Xcode 6 Beta 5 中的 UIView.animateWithDuration 更改
Xcode 11 beta 3 上 UIAction 的语法
.send() 和 .sink() 似乎不再适用于 Xcode 11 Beta 5 中的 PassthroughSubject