2015-07-29 10 views
6

Ich erstelle eine 2 Sektionen UITableView. Der erste Abschnitt verwendet UITableViewCells mit dem Default Stil, der zweite verwendet Subtitle Stil. Beide Zellen können ein mehrzeiliges Textlabel haben.UITableViewAutomaticDimension funktioniert nicht richtig mit Untertitel UITableViewCells

Ich habe die Tabelle auf UITableViewAutomaticDimension gesetzt.

Wie Sie aus der Abbildung unten sehen können, ist UITableViewAutomaticDimension nur teilweise eingehalten, wenn der Subtitle Stil mit: scheint die Höhe der textLabel ‚s Höhe, aber die detailLabel nicht‘ passen s ein.

Wie kann ich eine Subtitle Zelle die richtige Höhe bekommen?

Einige Code:

override func viewDidLoad() { 
    super.viewDidLoad() 
    tableView.delegate = self 
    tableView.estimatedRowHeight = 80 
    tableView.rowHeight = UITableViewAutomaticDimension 

    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "defaultCell") 
    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "subtitleCell") 
} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    if indexPath.section === 1 { 
     var cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "subtitleCell") 
     cell.textLabel?.numberOfLines = 0 
     cell.textLabel?.text = "A Long text..." 
     cell.detailTextLabel?.numberOfLines = 0 
     cell.detailTextLabel?.text = "A Long text..." 
     return cell 
    } 
    else { 
     var cell = tableView.dequeueReusableCellWithIdentifier("defaultCell") as! UITableViewCell 

     cell.textLabel!.text = "A long text..." 
     cell.textLabel?.numberOfLines = 0 
     return cell 
    } 

} 

Ich habe versucht, eine Unterklasse von UITableViewCell aber ich viele Probleme mit automatischen Layout und Abschnittstitel (eine lange Geschichte) zu implementieren, so frage ich mich, wenn ich könnte behebe das Problem auf eine einfachere Art und Weise.

+0

Waren Sie jemals in der Lage, dies zu beheben? – Jan

Antwort