iphone dev:动态调整UITableView的大小

时间:2009-07-19 09:38:00

标签: iphone uitableview

嘿,我们有一个UITableView,我们(很明显)有很多UITableViewCells。我们需要实现一个动作,以便当用户触摸单元格时,单元格会增长并显示更多信息。如果用户再次触摸该单元格,则会将其调整为原始大小。

我们能够通过改变单元格框架的高度来实现这一点:

CGRect newFrameTemp = self.frame;
newFrameTemp.size.height +=textHeight;
self.frame = newFrameTemp;

并将所有其他单元格textHeight像素向下移动。 (并且还改变了表格本身的大小)

这似乎有效,只是“触摸”事件没有与细胞一起移动,所以如果我想触摸下一个细胞,我实际上需要触摸我们刚刚“打开”的细胞中间

我们做错了什么线索?

1 个答案:

答案 0 :(得分:1)

也许尝试使用UITableViewDelegate方法调整高度:

– tableView:heightForRowAtIndexPath:

http://developer.apple.com/iphone/library/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITableViewDelegate

这可能会为您正确调整命中区域。

编辑:我刚碰过这个可能相关的链接: http://www.cimgf.com/2009/09/23/uitableviewcell-dynamic-height/