相关疑难解决方法(0)

SwiftUI - TabView 禁用背景透明度

iOS 15TabView有没有办法禁用透明度?如果我的没有填满整个屏幕,则背景是透明的,我希望始终显示背景。ListTabViewTabView

在此输入图像描述

swiftui

8
推荐指数
1
解决办法
3788
查看次数

根据选择的选项卡更改 Tabview 颜色 -Swiftui

我想看看是否可以根据选择的选项卡项更改底部 tabview 的颜色。目前,我可以使用 init.d 中的以下代码清除 tabview 栏。

let tabBar = UITabBar.appearance()
    init() {
        tabBar.barTintColor = UIColor.clear
        tabBar.backgroundImage = UIImage()
        tabBar.shadowImage = UIImage()
    }
 ...
 TabView(selection: $selectedTab) {
                FirstView()
                    .tabItem{
                        Text("First")
                    }
                SecondView()
                    .tabItem{
                        Text("Second")
                    }
    }
    .onAppear{
setTabViewBackground()
}

func setTabViewBackground() {
        if selectedTab != 0 {
            tabBar.barTintColor = UIColor.blue
        }
    }
Run Code Online (Sandbox Code Playgroud)

试图在身体重绘和 idk 时触发 func,如果它的这种声明式风格得到了我的最好,但根本不改变 tabview 背景。

uitabbar ios tabview swift swiftui

3
推荐指数
1
解决办法
864
查看次数

非半透明的UITabBar创建奇怪的灰色条

使用 SwiftUI,我有几个嵌套在 TabBar 内的 NavigationView。这样做的原因是我想更改每个 NavigationView 的标题以反映所选选项卡,但我找不到其他方法来执行此操作。另外,对于我的客户来说,UITabBar 的背景颜色为纯白色非常重要。为此我设置了UITabBar.appearance().isTranslucent = false,否则它显示为灰色。然而,一旦我这样做,我就会在 UITabBar 上方看到一条奇怪的灰线。我怎样才能摆脱这个?

struct ContentView: View {
    
    init() {
            
        UITabBar.appearance().backgroundColor = UIColor.white
        UITabBar.appearance().isTranslucent = false
    }
    
    var body: some View {
        TabView {

        NavigationView {
            
            Text("First tab")
                .padding(10)
                .background(Color.white)
                .navigationBarTitle(Text("First tab"), displayMode: .inline)
        }
        .tabItem {
            Text("First tab")
        }
            
        NavigationView {
            
            Text("Second tab")
                .padding(10)
                .background(Color.white)
                .navigationBarTitle(Text("Second tab"), displayMode: .inline)
        }
        .tabItem {
            Text("Second tab")
        }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

TabBar上方的灰色条

swift swiftui

2
推荐指数
1
解决办法
1213
查看次数

标签 统计

swiftui ×3

swift ×2

ios ×1

tabview ×1

uitabbar ×1