Ios SwiftUI 2个问题非常简单,关于搜索栏和列表的背景图片
SwiftUI非常简单的两个问题 1、如何使搜索栏粘贴到顶部,以便在使用向下滚动时仍能看到搜索栏 2、我使用列表和选项卡视图,我希望列表或Ios SwiftUI 2个问题非常简单,关于搜索栏和列表的背景图片,ios,swift,swiftui,Ios,Swift,Swiftui,SwiftUI非常简单的两个问题 1、如何使搜索栏粘贴到顶部,以便在使用向下滚动时仍能看到搜索栏 2、我使用列表和选项卡视图,我希望列表或VStack可能(或保存列表的东西)有一个背景图像(我的Assets.xcsets中已经有一个png)。我尝试了ZStack或.background(图像(“…”)),但都不起作用 这是图像,我希望背景是蓝绿色png图像 以下是选项卡视图的一个视图的代码: struct Discover: View { @State private var key
VStack
可能(或保存列表的东西)有一个背景图像(我的Assets.xcsets中已经有一个png)。我尝试了ZStack
或.background(图像(“…”)
),但都不起作用
这是图像,我希望背景是蓝绿色png图像
以下是选项卡视图的一个视图的代码:
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)
}
}
以下是方便您使用的预览:
请注意,我已经在列表和VSrack中添加了.background(图像(“bg_global”)
,但图像从未显示
非常感谢 要使背景可见,需要使列表及其内容透明。例如,可以在
init
中执行此操作
init() {
UITableView.appearance().backgroundColor = .clear
UITableViewCell.appearance().backgroundColor = .clear
}
使用
VStack
而不是ZStack
使搜索栏粘到顶部。并确保搜索栏
不是列表
视图的一部分
struct ContentView:View{
init(){
UITableView.appearance().backgroundColor=.clear
UITableViewCell.appearance().backgroundColor=.clear
}
@国家私有变量关键字:String=“”
var名称=[“余松”、“张远”、“小山”]
var body:一些观点{
VStack{
//您的搜索栏视图
HStack{
垫片()
文本(“搜索”)
垫片()
}.padding().background(颜色.红色)
名单{
ForEach(self.names.filter{
self.keywords.isEmpty?true:$0.localizedCaseInsensitiveContains(self.keywords)
},id:\.self){name in
文本(名称)
}
}
}.offset(x:0,y:45).背景(颜色.黄色).边缘识别安全区域(.all)
}
}
由于您还希望在安全区域显示背景,因此需要使用offset
按下视图