I just tried this in iOS 10 / Xcode 8 (the same results in iOS 9 / Xcode 7) with different cell types and it looks like ONLY for textLabel, not for detailTextLabel.
(basically repeating the problem that the OP mentioned)
ViewController code that alternately sets the text for detailTextLabel and textLabel.
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() tableView.estimatedRowHeight = 44 tableView.rowHeight = UITableViewAutomaticDimension } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) if indexPath.row % 2 == 0 { cell.textLabel?.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." cell.detailTextLabel?.text = "<- textLabel" } else { cell.textLabel?.text = "detailTextLabel ->" cell.detailTextLabel?.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." } return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 10 } }
Make sure that the textLabel and textDetailLabel properties are set to 0, and here are the results.
Main cell 
Right detail cell 
Left detail 
Subtitle cell 
I will report this as an error.
Travis M.
source share