SwiftUI 菜单栏组件

功能特点

必需步骤

1. 枚举

定义枚举,其中菜单项遵循 IMenuItem

enum MenuItems: String, IMenuItem {
    case one = "one"
    case two = "two"
    case three = "three"
}

2. 创建菜单栏

MenuBar(values: MenuItems.allCases, selected: $selected)
  .onSelectionChanged{ item in }

可选

尺寸策略 描述
fit 分配所有可用空间 不可滚动
auto 根据内容自动调整大小
flex(CGFloat) 设置最小宽度
样式 描述
round 圆角
square 直角

组件初始化示例

    @State var selected : MenuItems?

   VStack{
        MenuBar(values: items, selected: $selected, strategy: .flex(102), color: .green)
        MenuBar(values: items, selected: $selected, color: .purple, style: .square)
        MenuBar(values: items, selected: $selected, strategy: .fit, color: .blue)        
        MenuBar(values: items, selected: $selected, color: .red)
    } 

click to watch expected UI behavior for the example

代码示例

查看 MenuContentView.swift 中的示例预览,或创建一个项目,添加包并将 MenuContentView() 放入 ContentView()

使用于

自动滚动头部菜单 - SwiftUI & Combine

文档 (API)