establecer gradiente horizontal en UITableviewcell swift

Quiero crear un gradiente horizontal de izquierda a derecha en cada celda. Utilizo CAGradientLayey para crear una capa personalizada y agregar esta capa a la celda tableview.

Este es mi código en swift

func gradient(frame:CGRect) -> CAGradientLayer { let layer = CAGradientLayer() layer.frame = frame print(frame) layer.startPoint = CGPointMake(0,0.5) layer.endPoint = CGPointMake(1,0.5) layer.colors = [ UIColor.networkingColor().CGColor,UIColor.blueColor().CGColor] return layer } override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { cell.layer.addSublayer(gradient(cell.frame)) cell.textLabel?.textColor = UIColor(networking:0, green:0.102, blue: 0.2, alpha: 1) } 

Pero el gradiente no cubre toda la celda de vista de tabla, cambia entre celda de gradiente y color de background de celda normal y parece que el gradiente superpone completamente el text de celda. No se que estoy haciendo mal

¿Cualquier sugerencia? Gracias

En lugar de usar el frame , use los bounds de la celda, también insertSublayer en el índice 0, por lo que vendrá detrás de todas las demás capas, incluida su label

 override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { cell.layer.insertSublayer(gradient(cell.bounds), atIndex:0) cell.backgroundColor = UIColor.clearColor() cell.textLabel?.textColor = UIColor(networking:0, green:0.102, blue: 0.2, alpha: 1) }