Seems like the auto-layout was creating problems for me. I added the backgroundView and selectedBackgroundView programmatically and it works.
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
UIView *selectedView =[UIView new];
selectedView.backgroundColor=[UIColor colorWithRed:0.604 green:0.812 blue:0.059 alpha:1.000];
cell.selectedBackgroundView = selectedView;
UIView *defaultView =[UIView new];
defaultView.backgroundColor=[UIColor colorWithRed:0.396 green:0.404 blue:0.404 alpha:1.000];
cell.backgroundView = defaultView;
}