2017-06-25 89 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在这种情况下不起作用。