首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 15导航条透明问题与TabView

iOS 15导航条透明问题与TabView
EN

Stack Overflow用户
提问于 2021-10-13 23:30:18
回答 1查看 2.9K关注 0票数 1

新的iOS 15使导航条背景完全透明--如果后面没有元素,如果有一个列表,然后滚动导航栏后面的元素--这将获得一个白色的半透明背景,但是如果我使用的是TabView,其中每个TabItem在导航栏背景中都有一个列表,在选项卡项之间切换时没有正确更新,导航栏始终保持透明背景。

我正在使用SwiftUI,我的基本代码如下所示:

代码语言:javascript
运行
复制
struct Main: View {
    var body: some View {
        WindowGroup {
            NavigationView {
                TabView {
                    TabElement()
                    TabElement()
                    TabElement()
                    TabElement()
                    TabElement()
                }.navigationBarTitle(Text("Main"), displayMode: .inline).navigationBarBackButtonHidden(true)
            }
        }
    }
}

struct TabElement: View {
    var body: some View {
        VStack {
            List {
               Text("empty")
               Text("empty")
               Text("empty")
               Text("empty")
               Text("empty")
               Text("empty")
               Text("empty")
               Text("empty")
               Text("empty")
               Text("empty")
           }.listStyle(InsetGroupedListStyle())
        }.tabItem {
            Image(systemName: "star.fill")
            Text("dummy")
        }
    }
}

因此,这段代码形成了一个有五个选项卡的表视图,每个选项卡都有一个包含10个文本视图的列表,如果我切换到任何其他选项卡并将元素滚动到顶部,则可以通过导航条而不是后面看到列表。

是什么导致了这种行为?是某种错误还是我的代码错了?这个问题在iOS 14.*中没有发生,因为导航栏总是有白色的背景。

注意:我发现可以使用:

代码语言:javascript
运行
复制
if #available(iOS 15, *) {
    let appearance = UINavigationBarAppearance()
    appearance.configureWithOpaqueBackground()
    UINavigationBar.appearance().standardAppearance = appearance
    UINavigationBar.appearance().scrollEdgeAppearance = appearance
}

...in,我的ApDelegate,但这看起来是一个棘手的方法,以摆脱透明的导航栏。如果苹果决定在iOS 15中使用这个新设计,我想在我的应用程序中实现它,但前提是透明更新是正确的。

EN

Stack Overflow用户

发布于 2021-10-14 07:19:59

是的,苹果在iOS 15中改变了这一点。

如果要在单个ViewController中更改导航栏的外观,可以使用以下代码:https://stackoverflow.com/a/69493819/9263676

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69563463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档