【发布时间】:2021-11-05 03:33:56
【问题描述】:
我有一个UIHostingController 子类,它隐藏了viewDidLoad 上的导航栏。在我的主机控制器中,我有一个 SwiftUI 视图,它使用几何阅读器来计算顶部安全区域插图。不幸的是,我认为几何读者仍然认为导航栏是可见的,因此报告了错误的顶部安全区域插图大小。我如何让它报告正确的插图?这是我的代码:
final class NavigationHostingController<Content: View>: UIHostingController<Content> {
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.isHidden = true
}
}
struct AccountDetailsView: View {
var body: some View {
GeometryReader { geometry in
VStack(spacing: 0) {
Color.yellow
.edgesIgnoringSafeArea(.all)
.frame(height: geometry.safeAreaInsets.top)
// some other views
}
}
}
}
let viewController = NavigationHostingController(rootView: accountDetailsView)
navigationController?.pushViewController(viewController, animated: true)
【问题讨论】:
-
你是如何使用
let viewController = NavigationHostingController(rootView: accountDetailsView)navigationController?.pushViewController(viewController, animated: true)的?