Ios 从UITabBarController调用SwiftUI视图
我正在慢慢地将我的项目转换为SwiftUI。我想将情节提要中的UITabBarController连接到SwiftUI视图 我的理解是最好的方法是使用UIHostingController。我将一个添加到我的故事板,将其连接到选项卡栏,并将自定义HostingViewController作为自定义类添加到该控制器。 (如果与所有内容一样重要,则会显示在“更多”选项卡下) 我假设这里缺少一些代码,但我发现大部分代码片段缺少适当的示例。 UIHostingControllerIos 从UITabBarController调用SwiftUI视图,ios,swiftui,Ios,Swiftui,我正在慢慢地将我的项目转换为SwiftUI。我想将情节提要中的UITabBarController连接到SwiftUI视图 我的理解是最好的方法是使用UIHostingController。我将一个添加到我的故事板,将其连接到选项卡栏,并将自定义HostingViewController作为自定义类添加到该控制器。 (如果与所有内容一样重要,则会显示在“更多”选项卡下) 我假设这里缺少一些代码,但我发现大部分代码片段缺少适当的示例。 UIHostingController import Foun
import Foundation
import UIKit
import SwiftUI
class HseEventHostingVC: UIHostingController<HseView>{
}
以及我的HSECell可识别结构
import Foundation
struct HSECell: Identifiable{
var id = UUID()
var name: String
var duedate: String
var status: String
var reportedBy: String
var reportedDate: String
var hseid: String
}
更新:我尝试在主机控制器之前添加一个导航控制器,结果只得到一个黑屏。解决了这个问题,我想其他人最终会需要它 关键是在定义UIHostController时,我必须使用SwiftUI视图正确初始化它
class MyClassNameHostVC: UIHostingController<CustomSwiftUiView>{
required init?(coder aDecoder: NSCoder){
super.init(coder: aDecoder, rootView: CustomSwiftUiView())
}
}
类MyClassNameHostVC:UIHostingController{
必需的初始化?(编码器aDecoder:NSCoder){
super.init(编码者:aDecoder,根视图:CustomSwiftUiView())
}
}
帮助解决了这个问题。很高兴你解决了你的问题。我面对的是同样的黑屏,但我的错误是我没有在故事板中替换我的UIHostingController的自定义类。这成功了,很好,你找到了答案,这对我帮助很大!这件事已经做了好几天了
class MyClassNameHostVC: UIHostingController<CustomSwiftUiView>{
required init?(coder aDecoder: NSCoder){
super.init(coder: aDecoder, rootView: CustomSwiftUiView())
}
}