【问题标题】:Why SwiftUI view transitions modifiers don't work?为什么 SwiftUI 视图转换修饰符不起作用?
【发布时间】:2020-03-29 15:21:46
【问题描述】:

我需要使用视图转换向我的场景添加视图。我试图使用修饰符.transition(.opacity),但它只是添加了视图而没有任何过渡。我还尝试了其他过渡类型,但它们不起作用。由于这是一个非常简单的测试项目,所以看不出问题出在哪里。这是video of my problem的链接

import SwiftUI

struct Test: View {

    @State var show = false

    var body: some View {
        VStack {
            Button(action: {self.show.toggle()}) {
                Text("Button")
            }

            if show {
                Text("Test Text")
                    .transition(.move(edge: .top))
            }
        }
    }
}

struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}

【问题讨论】:

    标签: ios swift iphone swiftui


    【解决方案1】:

    你需要为过渡添加动画

     if show {
    
                    Text("Test Text").animation(.linear)
                    .transition(.move(edge: .top))
            }
    

    【讨论】:

    • 谢谢,现在可以了。我以前使用过转场,但我不必设置动画修改器,有什么变化吗?
    • 我不知道。这可能取决于视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2019-06-30
    相关资源
    最近更新 更多