2017-06-25 127 views
0

我想使我的tableview標題具有自動高度,因爲我的標題在我的標題視圖中可以有多行文本。 我設置步驟如下:UITableView標題UITableViewAutomaticDimension不工作

鑑於沒有負載的廣告

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

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

但它仍然沒有工作。 這裏是我的故事板的配置(我已經設置線爲0,斷行,以自動換行

另一個問題是:是我在TableViewCell頂部添加的自定義視圖標題單元格

Here is my storyboard configuration

回答

0

我已經結束了使用方法來計算標籤的高度和增加了高度的視角。

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 
} 

在viewDidLoad中()

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

仍然好奇爲什麼UITableViewAutomaticDimension在這種情況下不起作用。