有没有办法将UIHostingController中包含的SwiftUI视图移动到NavBar Space中

时间:2019-11-25 01:54:40

标签: swift storyboard swiftui

我当前的实现将UIHostingController附加在NavBar下面。但是我希望UIhostingController从状态栏的末尾(槽口下方的灰色区域)开始。这是代码和生成的图像:

    self.reviewHomePage = ReviewHomePage(reviewDict: reviewDict)
    let hostingController = UIHostingController(rootView: self.reviewHomePage)
    self.addChild(hostingController)
    hostingController.view.frame = self.view.frame
    view.addSubview(hostingController.view)
    hostingController.didMove(toParent: self)

Resulting View of Code Above

我尝试使用此处讨论的各种技术隐藏NavBar:Storyboard - Hiding top bar of navigation controller programmatically。但是在隐藏NavBar之后,NavBar占用的空间仍为NavBar保留(背景颜色只是更改为灰色)。我尝试使用以下代码调整框架以在navBar空间内开始:

let navHeight = self.navigationController!.navigationBar.frame.minY
let topFullView = ((self.navigationController?.view.frame.minY)!) + (navHeight) 
let reviewFrame = CGRect(x: (self.navigationController?.view.frame.minX)!,
                     y: (topFullView),
                     width: self.navigationController!.view.frame.width,
                     height: self.navigationController!.view.frame.height - topFullView)

但是UIHostingController向上移动到NavBar的后面,如下图所示。 Resulting View of Adjusted Frame

是否可以完全删除NavBar或将视图附加到NavBar顶部,同时将TabBar保持在屏幕底部?感谢您的帮助!

0 个答案:

没有答案