使用多个笔尖在 UITableViewCell 中动态获取行高

Posted

技术标签:

【中文标题】使用多个笔尖在 UITableViewCell 中动态获取行高【英文标题】:Obtain row height dynamically in UITableViewCell with multiple nibs 【发布时间】:2013-08-14 11:36:55 【问题描述】:

当用户点击或双击一个单元格时,我有一个 UITableView 和从不同 Nib 文件加载的 UITableViewCell,即 三个不同高度的 Nib 文件一个每个正常,点击和双击。

如何识别 heightForRowAtIndexPath: 中加载的 nib 以动态设置行高?

【问题讨论】:

你能分享你的代码,我可以试试 【参考方案1】:

您可以将heightForForAtIndexPath 中的单元格出列并检查其高度:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

    NSString *cellId = @"Cell";//set cell ID here based on your view controller's logic
    UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:cellId];
    return cell.bounds.size.height;

如果您担心性能问题,可以将出队的单元格缓存在字典中。 Retrieve custom prototype cell height from storyboard 对此方法进行了更详细的讨论(与标题可能暗示的相反,不需要使用故事板)。

【讨论】:

以上是关于使用多个笔尖在 UITableViewCell 中动态获取行高的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UITableViewCell 中使用预定义视图(笔尖)?

来自 NSString 的 UITableViewCell 笔尖

从笔尖加载的 UITableViewCell 未更新(缓存?)

从笔尖创建 UITableViewCell,动态单元格高度

如何从笔尖实例化 UITableViewCell

来自笔尖的自定义 UiTableViewCell 没有重用?