Ajuste la línea del separador UITableViewCell cuando está en modo de edición múltiple

Estoy buscando ajustar el margen de inserción del separador cuando estoy en modo de edición múltiple en un UITableView estándar en iOS 9/10.

Mi objective es alinear la línea separadora con el borde izquierdo de la label de text de la celda .

En el pasado, he eliminado completamente los márgenes haciendo:

override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { cell.separatorInset = .zero cell.layoutMargins = .zero } 

Eso me da una visión como:

Si trato de boost la inserción del separador, la label de text completa se mueve, lo que no deseo. :

 cell.separatorInset = UIEdgeInsetsMake(0, 40, 0, 0) 

¿Cómo puedo mover la línea del separador, sin afectar el layout del text, y preferiblemente sin replace las layoutSubviews de layoutSubviews o las líneas de dibujo manualmente?

Puede agregar el separador manualmente, intente usar el código siguiente

 func viewDidLoad() { self.tableview.separatorStyle = UITableViewCellSeparatorStyle.None } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let separator = CALayer() separator.backgroundColor = UIColor.grayColor(); separator.frame = CGRectMake(0, 43, self.view.frame.size.width, 1); cell.layer.insertSublayer(separator, atIndex:0) return cell; } 

Estoy en xcode 8, con ios 9

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { cell.layoutMargins = .zero } 

Te da lo que quieres según tu tercera image.

He intentado

 func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { cell.layoutMargins = .zero } 

También funciona, no estoy seguro de por qué no funciona a tu lado.