我一直试图一遍又一遍地更改SwiftUI中列表的背景,但没有成功。我只是不知道应该添加什么以使列表行没有颜色或更改为颜色。
让我们说下面的代码是我一直在使用的代码。它比我用于单元格的内容更基本,因为它只是文本。可以更改文本背景,但是我要寻找的是将整个行背景更改为颜色或图片。
import numpy as np
np.set_printoptions(suppress=True)
data_1 = str(780e51)
data_2 = syr(780e96)
print(a)
我只希望单元格行更改背景,但是在亮模式下它们保持白色,而在暗模式下保持黑色。
答案 0 :(得分:0)
您可以使用.colorMultiply()
属性,
检查以下代码
代码已针对XCode 11 Beta 4更新
init() {
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.black]
UINavigationBar.appearance().barTintColor = .blue
}
var body: some View {
NavigationView {
ZStack {
HStack {
List(0...10) { test in
Spacer()
Text("This is a test")
Spacer()
}.colorMultiply(Color.pink)
List(0...10) { test2 in
Spacer()
Text("Also a test")
.background(Color.green)
Spacer()
}.colorMultiply(Color.green)
}
}.navigationBarTitle(Text("Test"), displayMode: .inline)
}
}
答案 1 :(得分:0)
尝试.colorMultiply(Color)
。这将解决它。
List(0...10) { test2 in
Spacer()
Text("Also a test")
Spacer()
}.colorMultiply(Color.red)
答案 2 :(得分:0)
我发现使用列表和节的一件事是它们是tupleview类型,即它们不是单个视图,并且border()和background()之类的东西适用于列表中的元素,而不是列表本身。要创建单个视图进行修改,您需要将它们嵌入堆栈中。