一个 SwiftUI 容器,它呈现两个以可调拆分方式垂直堆叠的视图
VerticalSplit
这个软件包很大程度上受到 Amie iOS 应用程序中的分屏实现的启发。
用法
import VerticalSplit
VerticalSplit(
topTitle: "Top View",
bottomTitle: "Bottom View",
topView: {
// Top Content
},
bottomView: {
// Bottom Content
}
)
迷你浮层
当顶部或底部视图以其最小尺寸显示时,添加自定义内容进行显示。
VerticalSplit(
topTitle: "Top View",
bottomTitle: "Bottom View",
topView: {
// Top Content
},
bottomView: {
// Bottom Content
},
topMiniOverlay: {
// 当顶部视图最小化时显示,而不是顶部内容
},
bottomMiniOverlay: {
// 当底部视图最小化时显示,而不是底部内容
}
)
分隔槽位绑定
使用绑定控制顶部和底部视图之间的分隔。
@State var currentDetent: SplitDetent.fraction(0.5)
VerticalSplit(
detent: $currentDetent
topTitle: "Top View",
bottomTitle: "Bottom View",
...
)
附件
使用 leadingAccessories
和 trailingAccessories
修饰符在拖动区域添加按钮。
VerticalSplit(...)
.leadingAccessories([
SplitAccessory(systemName: "plus.circle.fill") {
// Perform action
},
SplitAccessory(systemName: "minus.circle.fill") {
// Perform action
}
])
菜单附件
使用 menuAccessories
修饰符在拖动区域弹出菜单中添加按钮。
VerticalSplit(...)
.menuAccessories([
MenuAccessory(title: "Plus", systemName: "plus.circle.fill", color: .green) {
// Perform action
},
MenuAccessory(title: "Minus", systemName: "minus.circle.fill", color: .red) {
// Perform action
}
])
背景颜色
设置顶部和底部视图容器以及菜单按钮的背景颜色。
VerticalSplit(...)
.backgroundColor(.gray)
调试
控制是否为调试记录日志。
VerticalSplit(...)
.debug(true)