我有一个SwiftUI
视图,它被推到UINavigationController
堆栈中。我在NavigationView
中没有任何SwiftUI,我想显示标题文本。我怎样才能做到这一点?
如何创建我的控制器:
let viewModel = SettingsViewModel()
let settingsView = SettingsView().environmentObject(viewModel)
let controller = UIHostingController(rootView: settingsView)
controller.title = "Settings"
return UIHostingController(rootView: settingsView)
SwiftUI内部是什么?
struct SettingsView: View {
// MARK: - Properties
@EnvironmentObject var viewModel: SettingsViewModel
// MARK: - View
var body: some View {
List(viewModel.settingItems) { item in
Text(item.rawValue)
}
}
}
发布于 2022-01-03 18:08:49
您将settingsView
作为rootviewcontroller返回,它以viewModel
作为对象,但它是空的,就像您向第一个let viewModel = SettingsViewModel()
声明的那样,因此下面的列表中有零项。
var body: some View {
List(viewModel.settingItems) { item in
Text(item.rawValue)
}
}
另一方面,您声明了controller
,但它从未使用
let controller = UIHostingController(rootView: settingsView)
controller.title = "Settings"
我有一个关于swiftUI的更小的信息,但是你的问题肯定是其中一个
https://stackoverflow.com/questions/70568805
复制相似问题