我需要对某些单元格使用UITableViewAutomaticDimension,并且还需要对其他一些单元格使用heightForRow
是否可以在同一个表视图中使用它们? 如果可能,我该怎么做?
答案 0 :(得分:2)
您好,您可以按照以下方式进行操作
在viewDidLoad
方法
self.tblView.rowHeight = UITableViewAutomaticDimension
self.tblView.estimatedRowHeight = 180
在heightForRowAt indexPath
方法
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
//Condition for specific height
if indexPath.row != 1 {
return UITableViewAutomaticDimension
}
else {
return 150
}
}
答案 1 :(得分:2)
试试这个:
override func viewDidLoad() {
super.viewDidLoad()
//Add this code
//Requests that UITableView use the default value for a given dimension.
tableView.estimatedRowHeight = 44.0 // estimate Row Height
tableView.rowHeight = UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 0{
if indexPath.row == 0{
return 44 // add your fix row height
}else{
return UITableViewAutomaticDimension
}
}
return 0
}
答案 2 :(得分:0)
对于Swift 4.0
在viewWillAppear
方法中
tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableView.automaticDimension
在heightForRowAt indexPath
方法中
if (tableView == tableView) {
return UITableView.automaticDimension
} else {
return 150
}