简体   繁体   English

如何在 SwiftUI 中使用 PageTabViewStyle 摆脱 TabView 上的索引点?

[英]How can I get rid of index dots on TabView with PageTabViewStyle in SwiftUI?

I have the following code but can't seem to remove the dots at the bottom of the 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)
    }
}

I would have thought the PageIndexViewStyle(backgroundDisplayMode: .never) would remove the index dots but that is not working.我原以为 PageIndexViewStyle(backgroundDisplayMode: .never) 会删除索引点,但这不起作用。 Is there any other way to get rid of them?有没有其他方法可以摆脱它们?

try this:尝试这个:

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)
    }
}

You have to add this:你必须添加这个:

.tabViewStyle(.page(indexDisplayMode: .never))
.indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .never))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM