【发布时间】:2020-05-09 20:12:52
【问题描述】:
我创建了一个自定义的 UITabBarController 来避免 SwiftUI 的标签栏的一些不足。查看更多here。这是我实现它的地方:
import SwiftUI
struct HomeView: View {
@EnvironmentObject var appState: AppState
var body: some View {
UITabBarWrapper([
TabBarElement(tabBarElementItem:
TabBarElementItem(title: "Learn", systemImageName: "book")) {
NewsView()
},
TabBarElement(tabBarElementItem:
TabBarElementItem(title: "Matches", systemImageName: "heart")) {
MatchesTab().environmentObject(AppState())
},
TabBarElement(tabBarElementItem:
TabBarElementItem(title: "Account", systemImageName: "person")) {
ProfileView()
}
])
.frame(maxHeight: .infinity)
.edgesIgnoringSafeArea(.top)
}
}
MatchesTab() 是 NavigationView:
import SwiftUI
struct MatchesTab: View {
@EnvironmentObject var appState: AppState
@State private var showingCandidate = false
var body: some View {
NavigationView {
if self.appState.hasTakenQuiz {
MatchesTabDefaultView()
.transition(.opacity)
.animation(.default)
} else {
SplashView()
}
}
}
}
由于某种原因,这个灰色空间出现在嵌入的MatchesTab下:
另外需要注意的是:问题似乎与NavigationView 有关。删除后,灰色条消失
【问题讨论】:
标签: swift uikit swiftui bottomnavigationview uitabview