iOS13-如何在SwiftUI中设置List(Tableview)的Background背景

4,662 阅读1分钟

1.设置row的背景:

List {
        ForEach(0..<10) {
            Text("第\($0)行")
        }
        .listRowBackground(Color.green) //里面可放各类view,如imageView、shapeView等
    }

效果:

2.设置整个List的背景(Color View):

(单纯的设background是没有效果的)

struct ContentView: View {
    
    //如果整个项目的List都需要设背景的话,可以把init里面的代码移到AppDelegate.swift的didFinishLaunchingWithOptions启动函数里
    init(){
        UITableView.appearance().backgroundColor = .clear
        UITableViewCell.appearance().backgroundColor = .clear
        //若不要row分隔线的话:
        //UITableView.appearance().separatorStyle = .none
    }
    
    var body: some View {
        
        List {
            ForEach(0..<10) {
                Text("第\($0)行")
            }
        }
        .background(
            Color.orange.edgesIgnoringSafeArea(.all)
        )
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

效果:

3.设置整个List的背景(Image View):

background修饰符中的内容改成Image View即可