有没有办法在swift中获取UITableView
中每行的行高?请帮忙。提前谢谢。
答案 0 :(得分:8)
Swift 4:
var height: CGFloat = 0
for cell in tableView.visibleCells {
height += cell.bounds.height
}
答案 1 :(得分:7)
我认为这就是你要找的东西。这假设" Cell" 是给定行的标识符, indexPath 是相关行的索引。
properties: {
a: {
value: ''
},
b: {
value: ''
}
},
答案 2 :(得分:3)
单元格仅在可见时才存在,您可以通过表格视图的visibleCells()
方法访问它们。
for obj in tableView.visibleCells() {
if let cell = obj as? UITableViewCell {
let height = CGRectGetHeight( cell.bounds )
}
}
答案 3 :(得分:0)
您需要某个IndexPath
的单元格来计算其边界。
您可以在UITableView
:
let row = tableView.cellForRow(at: indexPath)
let cellHeight = (row?.bounds.height)!
let cellWidth = (row?.bounds.width)!
答案 4 :(得分:0)
功能方式:
let sum = tableView.visibleCells.map( { $0.bounds.height } ).reduce(0,+)
print("Height:\(sum)")
答案 5 :(得分:-1)
如果您的行具有统一的高度,则rowHeight属性可以为您提供所需的内容。
否则,UITableViewDataSource公开numberOfRowsInSection和cellForRowAtIndexPath,而UITableViewCell公开rowHeight属性。
如果您只是想通过将行的高度加在一起来获得视图的高度,那么UITableView上的contentSize属性可能会更好。