我能够添加一个渐变我的UITableView,但我有一个问题,当我必须滚动我的单元格时,渐变背景也会滚动。当我向上或向下滚动时,我希望背景保持一致。我怎样才能做到这一点?我是否必须创建自定义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
答案 0 :(得分:4)
如果您不希望滚动,则渐变需要位于表格视图的后面。如果您正在使用UITableViewController,那么唯一的背后是窗口,因此您可以为其指定渐变,并使单元格和表格视图具有清晰的背景颜色。如果您正在使用带有表视图的UIViewController作为子视图,那么您可以为控制器的主视图提供渐变背景颜色。
答案 1 :(得分:0)
您是否考虑过如下添加背景图片?
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)