标签页 (Tabs)

使用 SwiftUI 构建的 iOS 和 macOS 标签页。

在 UI 中移动和关闭标签页。通过绑定打开标签页。通过内容回调进行样式设置。

Swift Package

.package(url: "https://github.com/heestand-xyz/Tabs", from: "1.0.0")

设置 (Setup)

var body: some View {
   
    Tabs(openIDs: $openIDs,
         activeID: $activeID) { value in
        
        if let thing = things.first(where: { $0.id == value.id }) {
        
            ZStack {
                
                if isActive {
                    Color.accentColor.opacity(0.75)
                } else {
                    Color.primary.opacity(0.1)
                }
                
                Label {
                    Text(thing.name)
                } icon: {
                    Image(systemName: "circle")
                }
                .padding(.horizontal, value.height)
            }
            .help(thing.name)
        }
    }
}

构造器 (Constructor)

public init(
    openIDs: Binding<[UUID]>,
    activeID: Binding<UUID?>,
    spacing: CGFloat = .tabSpacing,
    width: CGFloat? = nil,
    height: CGFloat = CGSize.tabSize.height,
    @ViewBuilder content: @escaping (Tabs.Value) -> Content
) { ... }