为啥我的视图在 swiftUI 中首次出现在屏幕上时没有转换

Posted

技术标签:

【中文标题】为啥我的视图在 swiftUI 中首次出现在屏幕上时没有转换【英文标题】:Why is my view not transitioning when first appeared on screen in swiftUI为什么我的视图在 swiftUI 中首次出现在屏幕上时没有转换 【发布时间】:2020-07-04 10:29:03 【问题描述】:

我想要一个在应用首次加载时从 0 缩放到 1 的简单视图。它怎么没有发生。看看我的代码:

struct ContentView: View 
    
    @State private var isLoadng = false
    
    var body: some View 
        
        ZStack 
            if isLoadng 
                Color.red
                    .cornerRadius(20)
                    .frame(width: 150, height: 200)
                    .transition(.scale)
               
            
            
            
        
        
        .onAppear 
            withAnimation(.easeInOut(duration: 2)) 
                self.isLoadng = true
            
        
    

视图只是弹出,没有任何过渡

【问题讨论】:

【参考方案1】:

这里是修改的部分。使用 Xcode 12 测试

var body: some View 
    ZStack 
        if isLoadng 
            Color.red
                .cornerRadius(20)
                .frame(width: 150, height: 200)
                .transition(.scale)
        
    
    .animation(.easeInOut(duration: 2))
    .onAppear 
        self.isLoadng = true
    

【讨论】:

以上是关于为啥我的视图在 swiftUI 中首次出现在屏幕上时没有转换的主要内容,如果未能解决你的问题,请参考以下文章

在 appDelegate 中首次展示视图

Flutter Google Map 在 IOS 中首次打开时崩溃

PF QueryCollection ViewController 中首次加载时未出现图像

在 UITabBarController 中首次启动时出现自动布局问题

为啥我的 SwiftUI 视图不会在更新 @State var 时更新?

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