Animation ScrollView中的动画不工作?使用Xcode 11 beta 6

Animation ScrollView中的动画不工作?使用Xcode 11 beta 6,animation,scrollview,swiftui,Animation,Scrollview,Swiftui,我试图在Scrollview中进行转换动画,但发现Scrollview中的工作方式有所不同。但还是无法在里面做动画。我提供代码,请看一下。使用Xcode 11 beta 6 import SwiftUI struct ContentView : View { @State private var isButtonVisible = false var body: some View { NavigationView { ScrollView{

我试图在Scrollview中进行转换动画,但发现Scrollview中的工作方式有所不同。但还是无法在里面做动画。我提供代码,请看一下。使用Xcode 11 beta 6

import SwiftUI 

struct ContentView : View {

@State private var isButtonVisible = false

var body: some View {

    NavigationView {
        ScrollView{
            VStack {
                Button(action: {
                 //   withAnimation {
                        self.isButtonVisible.toggle()
                  //   }
                }) {
                    Text("Press me")
                }

                if isButtonVisible {
                        Text("sss")

                            .frame(height: true ? 50 : 0, alignment: .center)
                              .background(Color.red)
                            .animation(.linear(duration: 2))
                      //  .transition(.move(edge: .top))

                }
            }

        }

    }


}}

这一定是一个bug,我建议你向苹果公司提交一份bug报告。我找到了一个解决方法,请参见下面的代码,但不幸的是,它发现了另一个bug

为了使ScrollView中的动画正常工作,可以将内容封装在自定义视图中。这将解决这个问题

这将揭示一个新的问题,我在代码中添加的边框表明了这一点:添加文本视图时,它会将部分内容转移到ScrollView之外

你会发现这是不正确的。尝试使用默认值isButtonVisible=true启动应用程序,您将看到它以不同的方式呈现应用程序

结构ContentView:View{ var body:一些观点{ 导航视图{ 滚动视图{ 封装视图.borderColor.green }.蓝色 } } } 结构封装视图:视图{ @状态私有变量isButtonVisible=false var body:一些观点{ VStack{ 文本填充 按钮操作:{ withAnimation.easeInOutduration:2.0{ self.isButtonVisible.toggle } } { 文本按我 } 如果按钮不可见{ 文本 .frameheight:真?50:0,对齐:。居中 .transition.opacity .backgroundColor.red } 间隔棒 }.红色 } }
我报告了这个错误。这很奇怪,当我们封装它们时,很多东西都开始工作了。这是一个错误还是我做错了什么?