呈现 UIHostingController 时设置 UINavigationController 标题
Set UINavigationController Title when presenting UIHostingController
我有一个 SwiftUI
视图被推送到 UINavigationController
堆栈。我在 SwiftUI 中没有任何 NavigationView
,我想显示标题文本。我怎样才能做到这一点?
如何创建我的控制器:
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)
}
}
}
您将 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"
I have a really smaller information about swiftUI but your problem must be one of these
我有一个 SwiftUI
视图被推送到 UINavigationController
堆栈。我在 SwiftUI 中没有任何 NavigationView
,我想显示标题文本。我怎样才能做到这一点?
如何创建我的控制器:
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)
}
}
}
您将 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"
I have a really smaller information about swiftUI but your problem must be one of these