我使用此代码为每个单元格静态设置tableView单元格的高度。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if let cell = modelCollection[collection.identifier] {
if let _ = cell as? TiteCell{
return 200
}else if let _ = cell as? ParagraphCell{
return 500
} else if let _ = cell as? WebViewCell{
return 1000
}
}
我不想再为WebViewCell设置静态值1000,而是使用WebView请求网站的高度。问题是我在DetailViewController类上设置高度后,在另一个名为WebViewCell的类中请求网站。这可能吗?
答案 0 :(得分:1)
viewDidLoad
并删除tblView.rowHeight = UITableViewAutomaticDimension
tblView.estimatedRowHeight = 200
数据源方法。另外,请勿忘记在heightForRowAtIndexPath
中使用AutoLayout
。
答案 1 :(得分:0)
你可以这样做
也不要忘记使用NSLayoutConstraints,因为没有它就无法工作
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if let cell = modelCollection[collection.identifier] {
if let _ = cell as? TiteCell{
return 200
}else if let _ = cell as? ParagraphCell{
return 500
} else if let _ = cell as? WebViewCell{
return UITableViewAutomaticDimension
}
}
func tableView(tableView: UITableView, EstimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 1000
}
注意:抱歉,如果我的答案格式化sucka。我现在正在使用手机