向 SwiftUI 的 List 或 ScrollView 添加索引栏。
使您的数据源遵循 Indexable 和 Identifiable 协议。然后将 List 替换为 IndexedList,或将 ScrollView 替换为 IndexedScrollView。
IndexedList(data) { element in
Section {
//Your section content
} header: {
//Your header content
.id(element.id)
}
}
查看 示例 了解更多信息。
结构体 · 描述索引栏中数据的外观和行为的类型。
contentID: 要滚动到的视图的标识符。displayPriority: 标签的显示优先级。在截断索引栏的布局期间,系统可能会考虑显示优先级。standard: 标准显示优先级。increased: 提高的显示优先级。提高的优先级不能保证标签一定会显示。title, image 和 systemImage: 用于构造标签的参数。协议 · 可以在索引栏中显示的类型。
index: 在索引栏中的外观和行为。视图 · 一个容器,用于呈现排列在单列中的数据行。
手动构造 indices 和列表 content,或者提供遵循 Indexable 协议的 data 以及每个元素的 ElementContent。
accessory: 要显示在列表前面的滚动辅助视图。selection: 用于标识所选行的绑定。视图 · 一个可滚动的视图。
手动构造 indices 和滚动视图的 content,或者提供遵循 Indexable 协议的 data 以及每个元素的 ElementContent。
accessory: 要显示在滚动视图前面的滚动辅助视图。枚举 · 显示在滚动视图前面的滚动辅助视图。
automatic: 索引栏,或者在未提供任何索引时,交互式滚动指示器。indexBar: 索引栏。scrollIndicator: 交互式滚动指示器。none: 没有滚动辅助视图。视图修饰符 · 在此视图中的任何索引栏之后分层的内容。
contentMode: 定义内容如何填充索引栏的可用空间。content: 背景内容。环境值 · 滚动容器视图中索引栏的边缘内边距。
SwiftUIIndexedList 开始使用。在 Twitter 上 @ciaranrobrien。