如何将SwiftUI视图添加到现有的标签栏控制器

问题描述

我有一个使用情节提要的应用程序,我需要其中一个选项卡才能使用SwiftUI,如何将其添加到现有项目中?

解决方法

我认为某人有时需要知道这一点,

步骤1。 将Hosting View Controller添加到情节提要

步骤2。 在导航控制器/标签栏控制器和HostingView控制器之间创建根视图控制器关系segue

第3步。 创建您的SwiftUI类

import SwiftUI

struct AnalyticsView: View {
    var body: some View {
        Text("Hello")
    }
    
}

struct AnalyticsView_Previews: PreviewProvider {
    static var previews: some View {
        ("Hello World")
    }
}

第4步。 创建一个UIHostingController类,然后在类检查器中将HostingViewController设置为该类

import UIKit
import SwiftUI

class AnalyticsVC: UIHostingController<AnalyticsView> {

    required init?(coder aDecoder: NSCoder){
        super.init(coder: aDecoder,rootView: AnalyticsView())
    }
}

第5步。 从SwiftUI视图构建视图控制器