【发布时间】:2021-11-10 03:26:33
【问题描述】:
有 5 个静态单元格。当我显示所有 5 个单元格时,这很好,但是如果我通过将高度返回为零来隐藏某些单元格,并且最后一个可见单元格与情节提要中 tableview 的最后一个单元格不同,那么如何做到这一点就会产生混乱?
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return hideRow(at: indexPath) ? 0: UITableView.automaticDimension
}
IMO,如果 tableview 中的最后一个可见行和 tableview 中的 lastrow 相同
return indexPath.row == 4 ? 150 : tblHeight - 150
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if hideRow(at: indexPath) {
return 0
}
else {
let tblHeight = infoTable.bounds.size.height
if indexPath.row == 4 {
return tblHeight - yPlusHeightOfPreviousCell
}
return UITableView.automaticDimension
}
}
但现在的问题是,如果第 3 行是最后一行,而对于第 4 行和第 5 行,我将返回 0 作为高度来隐藏它。
那么如何让最后一个可见单元格展开并占据全部空间
【问题讨论】:
-
我想你正在寻找这个
infoTable.tableFooterView = UIView()在 viewDidLoad 中写这个来删除底部多余的行。或者使用你的方法indexPath.row == arrayData.count - 1比较最后一个索引。 -
嗨,我希望最后一个可见的空间占据其余空间。使其出现在屏幕底部
-
我想显示最后一个可见行以占用剩余空间。假设第三个索引是最后可见的,第四个和第五个高度为零,因此它不可见。现在我如何确保第三行占据 tableview 的剩余高度
标签: ios swift uitableview uitableviewautomaticdimension