Tabview 索引在白色背景下不起作用

问题描述 投票:0回答:1

我正在尝试使用名为 TabView 的 iOS14 功能。

我正在尝试创建一个轮播方面。一切正常,除了索引指示器没有显示(图像中的那 3 个点)。在与白色不同的背景上,会出现点,但如果背景是白色,则不会显示点。我期待看到它们呈某种灰色。

你知道这件事的根源是什么吗?我试图找到一种不使用

".indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))"
的替代方案,因为它会给点添加奇怪的颜色背景。

import SwiftUI

struct ContentView: View {
    var body: some View {
      SwiftUI.TabView {
                Text("test1")
                Text("test2")
                Text("test3")
                Text("test4")
            }
            .frame(width: UIScreen.main.bounds.width, height: 100)
            .tabViewStyle(PageTabViewStyle(indexDisplayMode: .automatic))
    }
}

这就是它在红色背景上的样子(白色背景上什么也没有):

enter image description here

swift indexing styles tabview
1个回答
15
投票

不幸的是,从 iOS 15 beta 5 开始,它目前在 SwiftUI 中不可能出现。

但是,您可以深入到 UIKit 并修改外观,如下所示:

TabView {
    Text("Page 1")
    Text("Page 2")
    Text("Page 3")
}
.onAppear() {
    UIPageControl.appearance().currentPageIndicatorTintColor = .black
    UIPageControl.appearance().pageIndicatorTintColor = .gray
}
© www.soinside.com 2019 - 2024. All rights reserved.