gpt4 book ai didi

ios - SwiftUI:如何在条件 View 之间添加转换?

转载 作者:行者123 更新时间:2023-12-01 22:00:32 25 4
gpt4 key购买 nike

在我的应用程序中,我有这样的看法:

import SwiftUI

let defaults = UserDefaults.standard

struct ContentView: View {
@State var haveSeenIntroduction: Bool = defaults.bool(forKey: "haveSeenIntroduction")

var body: some View {
ZStack {
if self.haveSeenIntroduction {
DefaultView()
} else {
IntroductionView(haveSeenIntroduction: $haveSeenIntroduction)
}
}.transition(.scale)
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

在“IntroductionView”中,我有这样的按钮:
Button(action: {
let generator = UINotificationFeedbackGenerator()
generator.notificationOccurred(.success)

let defaults = UserDefaults.standard

defaults.set(true, forKey: "haveSeenIntroduction")

withAnimation {
self.haveSeenIntroduction = true
}
})

当我按下按钮时,在父 View 中使用 ZStack 时,转换看起来有问题(前一个 View “跳起来”,看起来很糟糕),而使用 Group 转换时根本不会发生。如何修复此行为并实现这两个 View 之间的转换而没有滞后、跳跃等?

最佳答案

你应该设置.transition(.scale)在您的 View 上,而不是显示转换的堆栈

关于ios - SwiftUI:如何在条件 View 之间添加转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60145218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com