添加渐变滚动UITableView

我能够添加一个渐变我的UITableView,但我有问题,当我必须滚动我的单元格,渐变背景也一起滚动。 当我向上或向下滚动时,我希望背景保持一致。 我怎样才能做到这一点? 我必须创build一个自定义的UITableView才能做到这一点?

下面的图片显示了它目前的样子。

这里是我的代码添加到UITableView的渐变:

func addGradientToBackground(){ var gradient : CAGradientLayer = CAGradientLayer() gradient.frame = self.tableView.bounds gradient.colors = [UIColor.blueColor().CGColor, UIColor.redColor().CGColor] self.tableView.layer.insertSublayer(gradient, atIndex: 0) } 

乱七八糟的将设置渐变不起作用,如设置:

 self.view.layer.insertSublayer(gradient, atIndex: 0) 

或者改变界限:

 gradient.frame = self.tableView.frame 

此外,在cellForRowAtIndexPath我设置UITableViewCells背景颜色清除:

 cell.backgroundColor = UIColor.clearColor() 

我无法添加图片,但是如果您希望看到图片,请点击此链接: http : //imgur.com/Vtka1tO,6faLMkr#0

如果不想滚动,渐变需要位于表格视图的后面。 如果你使用的是UITableViewController,唯一的后面是窗口,所以你可以给它渐变,并使单元格和表视图有一个清晰的背景颜色。 如果您将UIViewController与表视图一起用作子视图,则可以为控制器的主视图提供渐变背景颜色。

你有没有想过如下添加背景图片?

 var imageView = UIImageView(frame: CGRectMake(10, 10, cell.frame.width - 10, cell.frame.height - 10)) let image = UIImage(named: ImageNames[indexPath.row]) imageView.image = image cell.backgroundView = UIView() cell.backgroundView.addSubview(imageView)