我正在创建一个仅菜单栏的应用程序来解决我的问题,但我在使用导航堆栈和工具栏添加“添加”按钮时遇到了问题。
var body: some View {
VStack(alignment: .leading){
NavigationStack{
List(projects){ project in
NavigationLink(destination: ProjectDetailView(project: project)){
Text(project.name)
}
}
.navigationTitle("Projects")
.toolbar{
ToolbarItem(placement: .navigation, content: { Button(
action: {AddProject()},
label: {
Image(systemName: "plus").imageScale(.large)
}
)
}
)
}
}
}.frame(width: 400,height:600)
}
我也尝试在 VStack 之外使用它,结果相同。
导航标题和按钮在预览模式下显示良好。但是当我运行该应用程序时,只显示标题。按钮不在那里。另请注意,如果我单击导航链接,工具栏上会有后退按钮。
想知道这是一个错误还是有人遇到过这种情况?
我尝试过,但没有遇到同样的问题。 这是我的代码。
import SwiftUI
struct ContentView: View {
@State var projects = ["1", "2"]
@State var projectName = ""
var body: some View {
VStack(alignment: .leading){
NavigationStack{
List(projects, id: \.self){ project in
NavigationLink(destination: ProjectDetailView(project: project)){
Text(project)
}
}
.navigationTitle("Projects")
.toolbar{
ToolbarItem(placement: .navigation, content: {
HStack {
Button {
print(projectName)
} label: {
Image(systemName: "plus").imageScale(.large)
}
TextField("project name ", text: $projectName)
}
}
)
}
}
}
}
}
struct ProjectDetailView: View {
let project: String
var body: some View {
Text(project)
}
}
#Preview {
ContentView()
}