52、iOS 表格视图的行高计算与选择处理

iOS 表格视图的行高计算与选择处理

1. 可变行高的计算方法

1.1 预估行高法

为了减少初始时计算行高的时间,可以提供一个预估行高。当在表格显示前多次调用 tableView(_:heightForRowAt:) 时,仅对可见单元格调用该方法,其余单元格使用预估高度。这样运行时能快速获取足够信息来布局整个表格,只需提前提供初始可见行的实际高度。不过,这种布局只是近似值,后续需要修正。当新行滚动到视图中时,会再次调用 tableView(_:heightForRowAt:) 来修正布局。

以下是设置预估行高和实现 tableView(_:heightForRowAt:) 的示例代码:

// 在 viewDidLoad 中设置预估行高
self.tableView.estimatedRowHeight = 75

override func tableView(_ tableView: UITableView,
    heightForRowAt indexPath: IndexPath) -> CGFloat {
        let ix = indexPath.row
        if self.rowHeights[ix] == nil {
            let objects = UINib(nibName: "MyCell", bundle: nil)
                .instantiate(withOwner: nil)
            let 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值