Set gradient behind UITableView Set gradient behind UITableView swift swift

Set gradient behind UITableView


You need to create background view and assign it to cell:

func setTableViewBackgroundGradient(sender: UITableViewController, _ topColor:UIColor, _ bottomColor:UIColor) {    let gradientBackgroundColors = [topColor.CGColor, bottomColor.CGColor]    let gradientLocations = [0.0,1.0]    let gradientLayer = CAGradientLayer()    gradientLayer.colors = gradientBackgroundColors    gradientLayer.locations = gradientLocations    gradientLayer.frame = sender.tableView.bounds    let backgroundView = UIView(frame: sender.tableView.bounds)    backgroundView.layer.insertSublayer(gradientLayer, atIndex: 0)    sender.tableView.backgroundView = backgroundView}

Also don't forget to set UITableViewCell background color to clear color:

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {    cell.backgroundColor = UIColor.clearColor()}