所以我想在我的应用程序中切换到@AppStorage,但我遇到了一个特定问题。
对于 @AppStorage 的键,我想使用一个我已经拥有的变量,但我不能这样做,但我曾经找到一种使用用户默认值来做到这一点的方法,如下所示。
@State var isSignedUp = false
Run Code Online (Sandbox Code Playgroud)
因此,我首先将用户默认值初始化为 @State var,然后在 .onAppear 中,我将使用该密钥作为我的 id 变量:
isSignedUp = UserDefaults.standard.bool(forKey: id)
Run Code Online (Sandbox Code Playgroud)
我要问的是如何使用@AppStorage 做到这一点?
ZStack{
RoundedRectangle(cornerRadius: 8).foregroundColor(.red).scaledToFit()//.frame(width: 200, height: 25)
HStack{
Image(systemName: "tag.fill").foregroundColor(.white)
Text("Tickets Not Available").font(.headline).foregroundColor(.white).fixedSize(horizontal: true, vertical: false)
}
}.scaledToFit()
Run Code Online (Sandbox Code Playgroud)
如您所见,我的视图放置在 zstack 中,以便圆角矩形可以作为文本视图的背景。我已经尝试了很多不同的事情,比如把 .scaledtofit 放在哪里,但它每次都给我带来了古怪的结果。