ios - SwiftUI 2 个问题,但很简单,关于 searchaBle 和 List 的背景图片

标签 ios swift swiftui

SwiftUI 非常简单 2 个问题

1、如何让searchBar粘在顶部,这样当使用向下滚动时他们仍然可以看到他们的searchBar

2,我正在使用列表并使用 TabView,我希望列表或 VStack 也许(或保存列表的东西)有一个背景图像(已经有一个 png在我的 Assets.xcassets 中)。我尝试了 ZStack.background(Image("...")) 但它们都不起作用。

这是图像,我希望背景为青色 png 图像。

enter image description here

这是 TabView 的 View 之一的代码:

 struct Discover: View {
    @State private var keywords: String = ""
    var names = ["Yu Song", "ZhangYuan", "Kotoyama"]
    var body: some View {
        ZStack {
            List {
                HStack {
                    SearchBar(text: $keywords)
                    Image(systemName: "person")
                    Image(systemName: "bell")
                }
                ForEach(self.names.filter {
                    self.keywords.isEmpty ? true : $0.localizedCaseInsensitiveContains(self.keywords)
                }, id: \.self) { name in
                    Text(name)
                }
            }.background(Image("bg_global"))
        }.edgesIgnoringSafeArea(.all)
    }
}

为了方便您,这里是预览: enter image description here

请注意,我已经在 List 和 VSrack 中添加了 .background(Image("bg_global")),但图像从未显示。

非常感谢。

最佳答案

要使背景可见,需要使 List 及其内容透明。例如可以在 init,

中完成
init() {
    UITableView.appearance().backgroundColor = .clear
    UITableViewCell.appearance().backgroundColor = .clear
}

关于ios - SwiftUI 2 个问题,但很简单,关于 searchaBle 和 List 的背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59118493/

相关文章:

swift - 如何设置UIScrollView滚动到底部?

java - 值类型困惑

SwiftUI:按钮圆角边缘的边框尺寸加倍

ios - 当工作表中的 scenePhase 发生变化时触发一个 Action

ios - SwiftUI也在ScrollView中创建自定义分段控件

ios - 如何在 xamarin 中向 iOS8 兼容版本添加 iOS7 支持

ios - NSFetchRequest - 包括未决更改

ios - 如果禁用通知,iOS 设备能否接收数据负载?

iphone - IOS 以最小边距打印 pdf

swift - 使文档 ID = UID firestore swift