我正在尝试弄清楚如何在 SwiftUI 中使用导航栏
我想将 BarButtonItem
和图像放入 NavigationBar
var body: some View {
NavigationView{
List(0...5) { note in
VStack(alignment: .leading) {
Text("title")
Text("Date")
.font(.subheadline)
.foregroundColor(.secondary)
}
}
.navigationBarTitle(Text("Notes"))
}
}
最佳答案
iOS 14
您应该使用工具栏
修饰符:
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Button("Cancel") { /* action */ }
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: { /* Actions */ }, label: {
HStack {
Image(systemName: "trash")
Text("Delete")
}
})
.foregroundColor(.red) // You can apply colors and other modifiers too
}
}
注释 1:您可以在那里查看任何查看
。 (不仅是按钮
)以及任何修饰符
注2:上面和下面的代码都会生成相同的外观项,但采用不同的方法
<小时/>iOS 13 及更高版本(已弃用,但仍然有效)
您应该使用.navigationBarItems()
修饰符。例如,您可以添加 Button
或 Image
,如下所示:
.navigationBarItems(
leading: Button("Cancel") {
// Actions
},
trailing: Button(action: {
// Actions
}, label: { Label("Delete", systemImage: "trash") }
).foregroundColor(.red) // You can apply colors and other modifiers too
)
<小时/>
💡专业提示
始终尝试将每个项目封装在单独的结构中,这样您的代码就会得到简化,并且很容易用更新的技术替换。例如,看一下这个示例:
.navigationBarItems(
leading: MyCustomButtonItem(),
trailing: MyCustomButtonItem(text: "foo", image: "Bard")
)
关于ios - SwiftUI 中的导航内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56607175/