工具栏未正确显示 SwiftUI
Toolbar does not appear properly SwiftUI
在我的 GeneralView 中,我有一个 NavigationView 和一个 Tab View。
在每个 tabItem 中,我使用一些 ZStack 进行导航(使用 zIndex,隐藏和显示项目)
随机的前导和尾随项目未正确显示且无法单击。
见下文,屏幕顶部的后退按钮未满。但我 select 相同的按钮继续“Coureur1View”
信息 : 我对这个导航没有任何其他问题。
在我的 generalView 中:
.toolbar {
ToolbarItemGroup(placement: .principal) {
TitleBarView().environmentObject(objCourse)
}}
.navigationBarItems(leading: TitleBarLeadingView(),
trailing: TitleBarTrailingView())
我对 TitleBarView(原理)没有问题,但对前导和尾随有问题
在我的 TitleBarLeadingView 中:
struct TitleBarLeadingView: View {
@EnvironmentObject var objGroupe : GroupeActuel
@EnvironmentObject var objCourse : CourseActuelle
@EnvironmentObject var zindex : Zindex
var body: some View {
HStack {
if zindex.selectedTab > 0 {
if zindex.detailCoureurVisible {
Button{
zindex.detailCoureurVisible = false
} label : {
Image(systemName: "chevron.backward")
Text("Back")
}.foregroundColor(.orange)
}else{
EmptyView()
}else{
EmptyView()
}
}
}
提供的快照不可测试,所以只是想法 - 尝试强制重新创建导航栏项目。它可以是一些已知的更改值(我在 gif 上看到标题已更改),但也可以只是 UUID():
.navigationBarItems(leading: TitleBarLeadingView().id(UUID()),
trailing: TitleBarTrailingView().id(UUID()))
注意:make .id(param)
更可取,因为 UUID 会在每次刷新时重新创建。
在我的 GeneralView 中,我有一个 NavigationView 和一个 Tab View。 在每个 tabItem 中,我使用一些 ZStack 进行导航(使用 zIndex,隐藏和显示项目)
随机的前导和尾随项目未正确显示且无法单击。 见下文,屏幕顶部的后退按钮未满。但我 select 相同的按钮继续“Coureur1View” 信息 : 我对这个导航没有任何其他问题。
在我的 generalView 中:
.toolbar {
ToolbarItemGroup(placement: .principal) {
TitleBarView().environmentObject(objCourse)
}}
.navigationBarItems(leading: TitleBarLeadingView(),
trailing: TitleBarTrailingView())
我对 TitleBarView(原理)没有问题,但对前导和尾随有问题 在我的 TitleBarLeadingView 中:
struct TitleBarLeadingView: View {
@EnvironmentObject var objGroupe : GroupeActuel
@EnvironmentObject var objCourse : CourseActuelle
@EnvironmentObject var zindex : Zindex
var body: some View {
HStack {
if zindex.selectedTab > 0 {
if zindex.detailCoureurVisible {
Button{
zindex.detailCoureurVisible = false
} label : {
Image(systemName: "chevron.backward")
Text("Back")
}.foregroundColor(.orange)
}else{
EmptyView()
}else{
EmptyView()
}
}
}
提供的快照不可测试,所以只是想法 - 尝试强制重新创建导航栏项目。它可以是一些已知的更改值(我在 gif 上看到标题已更改),但也可以只是 UUID():
.navigationBarItems(leading: TitleBarLeadingView().id(UUID()),
trailing: TitleBarTrailingView().id(UUID()))
注意:make .id(param)
更可取,因为 UUID 会在每次刷新时重新创建。