我有一个自定义的UITableViewCell。在它的函数 - (id)initWithStyle:(UITableViewCellStyle)样式的reuseIdentifier:(NSString *)reuseIdentifier中,我需要知道tableView函数heightForRowAtIndexPath中定义的单元格高度,这样我才能在单元格中正确定位UITextField,UIButton等。 。有什么想法吗?
答案 0 :(得分: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的动态高度。