2017-06-25 2 views
0

Ich möchte meine Tabellenansicht Header haben automatische Höhe, weil ich Label in meiner Header-Ansicht, die mehrzeilig Text haben kann. Ich habe folgende Schritte:UITableView-Header UITableViewAutomaticDimension funktioniert nicht

im Blick hat Last ad

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { 
     return UITableViewAutomaticDimension 
    } 

func tableView(_ tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat { 
    return 200 
} 

Aber es immer noch nicht funktioniert. Hier ist meine Storyboard-Konfiguration (Ich habe auf 0 und Zeilenumbruch Zeilenumbruch gesetzt Linien

Eine weitere Frage:. Ist die benutzerdefinierte Ansicht ich auf dem Gipfel des TableViewCell hinzugefügt wird, eine Header-Zelle

Here is my storyboard configuration

?

Antwort

0

ich habe mit der Methode gelandet Höhe Etikett zu berechnen und hinzugefügt, um die Höhe der Ansicht.

private func heightForView(text: String, font: UIFont, width: CGFloat) -> CGFloat { 
     let label = UILabel(frame: CGRect(x: 0, y: 0, width: width, height: CGFloat.greatestFiniteMagnitude)) 
     label.numberOfLines = 0 
     label.lineBreakMode = NSLineBreakMode.byWordWrapping 
     label.font = font 
     label.text = text 
     label.sizeToFit() 

     return label.frame.height 
} 

im viewDidLoad()

let labelHeight = heightForView(text: post.content, font: contentLabel.font, width: contentLabel.frame.width) 
headerView.frame.size.height = headerView.frame.size.height + labelHeight 

Immer noch neugierig, warum die UITableViewAutomaticDimension in diesem Fall nicht funktioniert.

Verwandte Themen