有谁知道如何处理这个问题?好像当你有一个带有 NavigationView 的 UIHostingController 时,会发生以下情况:
注意大的灰色标签栏安全区域。
这主要是一个 UIKit 应用程序。正在用 swiftUI 视图替换选项卡栏中的选项卡。
这是我的代码:
var body: some View {
NavigationView {
ZStack {
MapKitMapView(
mapView: mapView,
annotations: $annotations,
polylines: $polylines,
centerCoordinate: $centerCoordinate,
newMapRegion: $newMapRegion,
userTrackingMode: $userTrackingMode
)
.edgesIgnoringSafeArea(.all)
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .center)
ButtonLayer(mapView: mapView, userTrackingMode: $userTrackingMode, showSheet: $showSheet)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.padding(.margin)
}
.edgesIgnoringSafeArea(.all)
.navigationBarHidden(true)
.sheet(isPresented: $showSheet) {
SettingsView()
}
}
}
原谅审查制度。我希望该应用程序保持匿名。
但基本上我的 UITabBar 构建如下:
- 有一个全局 UINavigationViewController
- UINavigationController 中的第一个也是唯一的项目是这个 UITabBar
- UITabBar 选项卡都是以编程方式创建的。
- 有问题的选项卡只是一个 UIHostingController,上面的代码是 rootView。
我尝试手动为 UIHostingController 设置额外的安全区域插图,以使其扩展到安全区域之外。
如果我删除 NavigationView 一切看起来和功能都符合预期。