我当前的实现将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)
我尝试使用此处讨论的各种技术隐藏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的后面,如下图所示。
是否可以完全删除NavBar或将视图附加到NavBar顶部,同时将TabBar保持在屏幕底部?感谢您的帮助!