SwiftUI动画意外从左上角开始的问题
SwiftUI动画意外从左上角开始的问题

SwiftUI动画意外从左上角开始的问题

SwiftUI通过变量控制视图显示时,如果变量为true,显示视图。但是视图动画会从左上角展开。

if idleManager.isIdle {
    SlientMode(isSlientMode: $idleManager.isIdle)
}

解决方案:在控制变量的代码中使用withAnimation。

DispatchQueue.main.async {
    withAnimation(.easeInOut(duration: 0.5)) {  // 添加 withAnimation
        self.isIdle = true
    }
}

withAnimation可以解决SwitUI视图动画显示异常的问题。

参考文章

1、NavigationView 中的 SwiftUI 动画:https://developer.apple.com/forums/thread/682779

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注