【发布时间】:2012-10-28 17:06:29
【问题描述】:
在我看来,我有三个不同的表。对于前两个表,我为每个单元格设置了一个固定高度(例如,第一个表的每个单元格为 30.0f,第二个表的每个单元格为 45.0f),我已根据每个表中的数据在情节提要中进行了调整。对于第三张表,我希望每个单元格有不同的高度。方法我试过了
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
但是这种技术的问题是每个表都调用了这个方法。至于前两张表,我已经调整了情节提要中的高度,我不知道如何处理它们。如果我这样做了:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if(tableView == myTable) {
return 150.0;
}
}
由于其他情况下我没有任何回报,所以整个事情都失败了。 有什么建议吗?
【问题讨论】:
-
如您所见,将一个
UIViewController分配给多个UITableView作为委托和数据源是一个非常糟糕的主意。您可以使用三个不同的NSObject子类,每个表视图一个,都保留在您的视图控制器中。然后你的问题就会自动消失。 -
如果我已经做了很多工作,他们现在没有子类化就没有办法做到这一点,如果我开始对表进行子类化,这会更加混乱吗?
-
不是表格,您需要为每个表格提供唯一的委托和数据源以更好地控制它们。
标签: iphone ios uitableview row-height