gpt4 book ai didi

ios - SwiftUI 对其 Root View 的一些 View

转载 作者:行者123 更新时间:2023-12-01 21:59:50 25 4
gpt4 key购买 nike

我想通过更改@State 变量的状态来触发 SwiftUI 中 subview 的更新,因为当我更改钱包对象时它不会单独更新,因为它被定义为 EnvironmentObject。问题是我必须用 environmentObject 初始化 View ,它返回一些 View ,并且不能将它转换为 WalletView,因为它应该看起来应该。

var walletView =  WalletView().environmentObject(Wallet(cards: reminders))

if walletView = walletView as? WalletView{
walletView.isPresented = !walletView.isPresented
}

如何访问 WalletView 对象?

我试过了:
var walletView =  WalletView()
let someWalletView = walletView.environmentObject(Wallet(cards: reminders))

walletView.isPresented = !walletView.isPresented

但 walletView 似乎没有更新。有什么线索吗?

最佳答案

SwiftUI 方法是更改​​ View 内部的 View 状态,据我所知,您将如何处理 WalletView它可以通过以下方式实现(scratchy):

struct WalletView: View {
...
var body: some View {
_some_internal_view
.onAppear { self.isPresented = true }
.onDisappear { self.isPresented = false }
}
}

关于ios - SwiftUI 对其 Root View 的一些 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60330328/

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