- Published on
ToolBarItemGroup位置关系
- Authors
- Name
什么是ToolBarItemGroup
ToolBarItemGroup
是一个用于将多个 ToolBarItem
组合在一起的容器,可以通过 ToolBarItemGroup
来控制 ToolBar
中的 ToolBarItem
的位置。 其中 ToolBarItemGroup
有以下几种位置:
- automatic
- principal
- navigation
- primaryAction
- secondaryAction
- status
- confirmationAction
- cancellationAction
- destructiveAction
- keyboard
他们的位置如下图所示:

如何使用ToolBarItemGroup
import SwiftUI
// 1. 创建一个ToolBarItemGroup
let group = ToolBarItemGroup {
// 2. 添加ToolBarItem
ToolBarItem(placement: .principal) {
Button("Principal") {
print("Principal")
}
}
ToolBarItem(placement: .navigation) {
Button("Navigation") {
print("Navigation")
}
}
ToolBarItem(placement: .primaryAction) {
Button("PrimaryAction") {
print("PrimaryAction")
}
}
ToolBarItem(placement: .secondaryAction) {
Button("SecondaryAction") {
print("SecondaryAction")
}
}
ToolBarItem(placement: .status) {
Button("Status") {
print("Status")
}
}
ToolBarItem(placement: .confirmationAction) {
Button("ConfirmationAction") {
print("ConfirmationAction")
}
}
ToolBarItem(placement: .cancellationAction) {
Button("CancellationAction") {
print("CancellationAction")
}
}
ToolBarItem(placement: .destructiveAction) {
Button("DestructiveAction") {
print("DestructiveAction")
}
}
ToolBarItem(placement: .keyboard) {
Button("Keyboard") {
print("Keyboard")
}
}
}
每种位置的作用
- automatic 自动位置
- principal 主要位置
- navigation 导航位置
- primaryAction 主要操作位置
- secondaryAction 次要操作位置
- status 状态位置
- confirmationAction 确认操作位置
- cancellationAction 取消操作位置
- destructiveAction 破坏性操作位置
- keyboard 键盘位置
如果我们想让 primaryAction 放在最后面,可以这样做
import SwiftUI
// 1. 创建一个ToolBarItemGroup
let group = ToolBarItemGroup {
// 2. 添加Spacer,这会让primaryAction放在最后面
Spacer()
ToolBarItem(placement: .primaryAction) {
Button("PrimaryAction") {
print("PrimaryAction")
}
}
}