我只想要一条位于tabView中心的底部曲线,但我无法访问tabView形状属性.
这就是我想要的.
注:
曲线应始终保持在中心位置.并且项目应该互换,这在给定的代码中已经实现.
import SwiftUI
struct DashboardTabBarView: View {
@State private var selection: String = "home"
struct Item {
let title: String
let color: Color
let icon: String
}
@State var items = [
Item(title: "cart", color: .red, icon: "cart"),
Item(title: "home", color: .blue, icon: "house"),
Item(title: "car", color: .green, icon: "car"),
]
var body: some View {
TabView(selection: $selection) {
ForEach(items, id: \.title) { item in // << dynamically !!
item.color
.tabItem {
Image(systemName: item.icon)
Text(item.title)
}
}
}
.onChange(of: selection) { title in // << reorder with centered item
let target = 1
if var i = items.firstIndex(where: { $0.title == title }) {
if i > target {
i += 1
}
items.move(fromOffsets: IndexSet(integer: target), toOffset: i)
}
}
}
}