在 UITableView 中定义高度的自定义 UITableViewCell
Posted
技术标签:
【中文标题】在 UITableView 中定义高度的自定义 UITableViewCell【英文标题】:Custom UITableViewCell with height defined in UITableView 【发布时间】:2010-03-19 04:33:22 【问题描述】:我有一个自定义 UITableViewCell。在其函数 - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 中,我需要知道在 tableView 函数 heightForRowAtIndexPath 中定义的单元格高度,以便我可以在单元格中正确定位 UITextField、UIButton 等。 .有什么想法吗?
【问题讨论】:
【参考方案1】:我通常这样做的方法是向我的 NSObject 子类添加一个方法,该方法将充当我的数据源对象(假设您使用的是这种基本方法,数据源数组中的内容)。
例如。假设我们需要显示一堆博客文章(纯文本),每个文章都是一个单元格。由于每一行都有可变的高度,我创建了一个 NSObject 子类,将其命名为 BlogPostInfo。在这个类中,我添加了方法:
- (int)cellHeight;
/* Perform a calculation with blog data, probably using sizeWithFont: */
由于您的数据对象中有此方法,您可以在 UITableViewController 中按如下方式使用它:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
/* assuming blogPosts is an NSMutableArray or whatevs */
return [[blogPosts safeObjectAtIndex:indexPath.row] cellHeight];
这就是我对 tableviewcells 进行动态高度的方式。
【讨论】:
以上是关于在 UITableView 中定义高度的自定义 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章
具有静态单元的 UItableView 包含 2 个 UItableview,每个都有具有动态高度的自定义单元
实现 UITableView (Slave) 的动态高度,它作为子视图添加到另一个具有动态高度的 UITableView (Master) 的自定义单元格中
iOS >> UITableView 与 2 个不同的自定义 UITableViewCells 具有不同的高度
使用 UITableView 的可变高度自定义单元格调用 reloadData 时保持 UITableView 的当前位置