Ios 如何使用构建器模块(UIKit)在SwiftUI中全屏显示视图控制器?

Ios 如何使用构建器模块(UIKit)在SwiftUI中全屏显示视图控制器?,ios,swift,swiftui,uikit,viper,Ios,Swift,Swiftui,Uikit,Viper,伙计们!我是iOS开发的新手,我遇到了一些麻烦。。。 我在架构-VIPER/B中使用SwiftUI。这是我在ios开发中使用此堆栈的第一步 我从 因此,我有一个func来构建我的模块,它返回给我ViewController: final class HomeModule: ModuleInterface { typealias View = HomeView typealias Presenter = HomePresenter typealias Router = HomeRouter typ

伙计们!我是iOS开发的新手,我遇到了一些麻烦。。。 我在架构-VIPER/B中使用SwiftUI。这是我在ios开发中使用此堆栈的第一步

我从

因此,我有一个func来构建我的模块,它返回给我ViewController:

final class HomeModule: ModuleInterface {
typealias View = HomeView
typealias Presenter = HomePresenter
typealias Router = HomeRouter
typealias Interactor = HomeInteractor

func build() -> UIViewController {
    let presenter = Presenter()
    let interactor = Interactor()
    let router = Router()

    let viewModel = HomeViewModel()
    let view = View(presenter: presenter, viewModel: viewModel)
        .environmentObject(AppEnvironment())
    presenter.viewModel = viewModel

    self.assemble(presenter: presenter, router: router, interactor: interactor)

    let viewController = UIHostingController(rootView: view)
    router.viewController = viewController
    return viewController
}
之后,我在路由器中调用此func:

final class LoginRouter : LoginRouterProtocol {

weak var presenter : LoginPresenter!

weak var viewController: UIViewController!

func presentHomeScreen() {
    
    viewController.present(HomeModule().build(), animated: true, completion: nil)
    
}
除了作为
viewController.present
,而且,
弱变量viewController:UIViewController,我没有想到任何其他方法来调用构建器模块已在原始模板中宣布,并提示
viewController.present

因此,当我在视图中调用这个func时,我会以模式获得ViewController,但无法获得全屏演示

我的演示者中的Func:

var router : LoginRouter!

func login() {
    router.presentHomeScreen()
}
在我看来:

Button(action: {   
  self.login()
}) {
  Text("Log in")
}

func login() {
    presenter.login()
}
请帮我在全屏模式下演示,我想在默认的NavigationController中显示segue-like:当新的ViewController从左到右出现时。此外,我尝试使用NavigationLink,但参数destination必须获取类型“View”,而不是ViewController。。。这给了我一个错误:

Type '()' cannot conform to 'View'; only struct/enum/class types can conform to protocols

您的想法是什么?

viewController.modalPresentationStyle=.fullScreen
您可以在之前将此添加到presentHomeScreen函数中吗present@MShah我试过了,但这是无用的
viewController.modalPresentationStyle=.fullScreen
你能在前面的presentHomeScreen函数中添加这个吗present@MShah我试过这个,但这是没有用的