gpt4 book ai didi

list - 使可扩展列表的背景透明似乎是不可能的。在 StackOverflow 上测试了所有解决方案

转载 作者:行者123 更新时间:2023-12-05 05:59:50 24 4
gpt4 key购买 nike

这是代码

struct Lumba:Identifiable {
var id = UUID()
var name:String
var subLumba:[Lumba]?
}


struct ContentView: View {

let array = [
Lumba(name:"aaa", subLumba: [
Lumba(name: "a1", subLumba: nil), Lumba(name: "a3", subLumba: nil), Lumba(name:"a3", subLumba: nil)]),
Lumba(name:"bbb", subLumba: nil)

]

var body: some View {
ZStack {
List(array, children: \.subLumba) { scrollItem in
Text(scrollItem.name)
.listRowBackground(Color.clear)
.background(Color.clear)

}
.listRowBackground(Color.clear)
}
.background(Color.red)
.onAppear() {
UITableView.appearance().separatorStyle = .none
UITableView.appearance().backgroundColor = UIColor.clear
UITableViewCell.appearance().backgroundColor = UIColor.clear
}
}
}

此代码包含在 Stack Overflow 上回答说要添加的内容,以使列表透明,以及大量冗余代码。

列表继续为白色。

StackOverflow 上的解决方案适用于简单列表但不可扩展。

最佳答案

将所有 UITableViewCell.appearance(). 移到 init() 中,并为 listRowBackground 使用 ForEach

struct ContentView: View {
let array = [
Lumba(name:"aaa", subLumba: [
Lumba(name: "a1", subLumba: nil), Lumba(name: "a3", subLumba: nil), Lumba(name:"a3", subLumba: nil)]),
Lumba(name:"bbb", subLumba: nil)

]

init() { //< -- Here
UITableView.appearance().separatorStyle = .none
UITableView.appearance().backgroundColor = UIColor.clear
UITableViewCell.appearance().backgroundColor = UIColor.clear
}

var body: some View {
ZStack {
List { //< -- Here
ForEach(array, id: \.id) { scrollItem in //< -- Here
Text(scrollItem.name)
}
.listRowBackground(Color.clear) //< -- Here
}
}
.background(Color.red)
}
}

已测试:XCode 12.3、iOS 14.3

enter image description here

关于list - 使可扩展列表的背景透明似乎是不可能的。在 StackOverflow 上测试了所有解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67940790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com