如何在 SwiftUI 中使用 PageTabViewStyle 去除 TabView 上的索引点?

问题描述

我有以下代码,但似乎无法删除 TabView 底部的点。

struct ContentView: View {
    @Environment(\.managedobjectContext) private var viewContext
    
    @State var users = ["Janice","Emily","Candice","London","Julia"]

    var body: some View {
        TabView {
            ForEach(users,id: \.self) { user  in
                UserCard(user: user)
            }
        }
        .tabViewStyle(PageTabViewStyle())
        .indexViewStyle(PageIndexViewStyle(backgrounddisplayMode: .never))
        .background(Color(.systemGroupedBackground))
    }
}

struct UserCard: View {
    
    let user: String
    
    var body: some View {
        Color.white
            .padding(30)
    }
}

我原以为 PageIndexViewStyle(backgrounddisplayMode: .never) 会删除索引点,但这不起作用。有没有其他办法摆脱它们?

解决方法

试试这个:

struct ContentView: View {
    @Environment(\.managedObjectContext) private var viewContext
    @State var users = ["Janice","Emily","Candice","London","Julia"]

    var body: some View {
        TabView {
            ForEach(users,id: \.self) { user  in
                UserCard(user: user)
            }
        }
        .tabViewStyle(.page(indexDisplayMode: .never))  // <--- here
        .background(Color(.systemGroupedBackground))
    }
}

struct UserCard: View {
    let user: String
    var body: some View {
        Text(user)
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...