在UITableView中自定义n个单元格的高度,但不是全部相同

时间:2010-01-23 17:37:19

标签: iphone uitableview

感谢这里的人们,我已经学到了很多关于我正在开发的酷iPhone应用程序的方法。但是,我想知道是否有人发现如何操作UITableView,以便一个单元格(任何或者,如果不可能,它只能是选定的单元格)可以有不同的高度。

我知道我可以使用这样的东西:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 70;

} * /

修改整个TableView。但是我该如何解决这个问题?

最终目标是在滚动表格时实现“OS X dock”般的缩放效果......

感谢任何帮助。

祝你好运, Ĵ*

2 个答案:

答案 0 :(得分:2)

您在问题中引用的方法正是您要使用的方法。您发布的代码始终返回固定值。但indexPath参数存在,以便您可以在任何条件处理中使用它。例如,确定是否选择了该行,并返回不同的高度。

您还需要注意从-[UITableView cellForRowAtIndexPath:]返回的单元格与此高度匹配。

答案 1 :(得分:0)

使用indexPath行和部分确定并返回单元格的高度。

UITableViewController相关的所有方法都会在询问特定信息时为您提供与{1}}对应的单元格。例如,当要求返回实际单元格时: indexPath

选择单元格时该怎么做: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

细胞高度: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

还有其他几个人。查看- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath教程,了解UITableViewController的工作原理以及delegate的{​​{1}}。

这是一个很好的:http://adeem.me/blog/2009/05/19/iphone-programming-tutorial-part-1-uitableview-using-nsarray/