当前位置: 首页 > 面试题库 >

如何在SwiftUI中设置NavigationView背景色

段干博涉
2023-03-14
问题内容

我正在尝试设置的背景色NavigationView。我正在尝试通过ZStack使用下面的代码(部分来自SwiftUI教程)添加一个。然而,这只是以往的白色,除非我替换NavigationView...Spacer()

    var body: some View {
    ZStack
        {
            NavigationView {
                List {
                    Toggle(isOn: $userData.showFavoritesOnly) {
                        Text("Favourites")
                    }
                    ForEach(userData.landmarks) { landmark in
                        if !self.userData.showFavoritesOnly || landmark.isFavorite {
                            NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
                                LandmarkRow(landmark: landmark)
                            }
                        }
                    }
                }

                .navigationBarTitle(Text("Landmarks"), displayMode: .large)
            }

    }.background(Color.blue.edgesIgnoringSafeArea(.all))
}

我可以设置单个列表项的颜色,但我希望整个背景显示为蓝色


问题答案:

与相同UINavigationBar。但是,由于还没有直接的api,您可以使用appearance以下命令进行更改:

UINavigationBar.appearance().backgroundColor = .orange
UINavigationBar.appearance().tintColor = .green
UINavigationBar.appearance().barTintColor = .yellow
UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.red]
UINavigationBar.appearance().largeTitleTextAttributes = [.foregroundColor: UIColor.red]

您应该将其放置在可以确保编译器在init()方法内部读取的位置。

请注意,其中一些将 在Xcode 11 beta 5以下无法正常工作



 类似资料:
  • 我一直在尝试在 swiftUI 中为整个设置背景颜色,但我无法做到。视图不采用属性 。 我已经尝试使用< code >。< code>sceneDelegate中的< code>viewController的backgroundColor属性,它不接受该属性,但接受< code>foregroundColor属性。

  • 我正在尝试设置的背景色。我正在尝试使用以下代码添加 (部分来自 SwiftUI 教程)。然而,它只会是白色的,除非我用替换 我可以设置单个列表项的颜色,但我希望整个背景显示蓝色

  • 嘿,伙计们,我实际上是java编程的新手。我可以把背景颜色的代码行放在哪里。因为当我在main方法中放一个颜色为黄色的jpanel时。jframe中背景颜色的设置有效,但jtag、jtext field和j按钮现在不见了...一切都只是黄色。 }

  • 本文向大家介绍如何在HTML中设置背景颜色?,包括了如何在HTML中设置背景颜色?的使用技巧和注意事项,需要的朋友参考一下 要在HTML中设置背景颜色,请使用style属性。style属性指定元素的内联样式。该属性与HTML <body>标记以及CSS属性background-color一起使用。HTML5不支持<body>标记的bgcolor属性,因此CSS样式用于添加背景色。HTML5中不推荐

  • 问题内容: 以下代码中的行无效。为什么?我该如何解决? 问题答案: 您需要调用小部件。默认情况下,a不会填充背景。 有关更多信息,请参见该属性的文档。 如果要使用任意背景色,则需要修改小部件的调色板:

  • 问题内容: 我正在使用BlueJ作为IDE使用Java开发一个简单的平台游戏。现在,我在游戏中使用多边形和简单形状绘制了玩家/敌人的精灵,平台和其他物品。最终,我希望将它们替换为实际图像。 现在,我想知道将图像(URL或本地来源)设置为游戏窗口/画布的“背景”的最简单解决方案是什么? 如果编程时间不是太长或太复杂,我将不胜感激,因为我的编程技能不是很好,我想使我的程序尽可能简单。请为示例代码提供注