在uitableviewcell中显示动态子视图

时间:2009-12-19 19:07:52

标签: iphone cocoa-touch uitableview

用户点击一个tableview单元格后,我想在单元格下方滑动打开一个小视图。这两个应用程序的第一个屏幕截图显示了这一点:

Tweetie 2:http://itunes.apple.com/us/app/tweetie-2/id333903271?mt=8

Pastebot:http://itunes.apple.com/us/app/id344614116?mt=8

我知道如何动态增加单元格的高度,但这与上面的效果不同。滑出视图效果似乎不会增加单元格的高度。此外,新观点并不广泛。关于如何设计的任何建议?

4 个答案:

答案 0 :(得分:1)

您可以使用动画在其下创建和插入新的自定义单元格。查看insertRowsAtIndexPaths:withRowAnimation:

<强>更新
我也非常喜欢你使用“滑出”视图的想法,但我同意TechZen这应该作为单元格的子视图添加。
如果要增加单元格的高度,则需要从委托方法tableView:heightForRowAtIndexPath:返回所有单元格的正确高度。您将需要为所有行返回相同的高度(标准为44),除了具有额外视图的行,该视图将增加新视图的高度。

答案 1 :(得分:0)

我不认为他们在单元格视图下方滑动视图,我认为他们将视图插入单元格本身并修改图形以创建叠加视图的错觉。

答案 2 :(得分:0)

我真的不知道他们是怎么做到的,但是在最后几分钟我尝试了一些实验......最简单的解决方案当然是:

NSIndexPath *myIndexPath = [NSIndexPath indexPathForRow:[selectedCell intValue]+1 inSection:0];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:myIndexPath] withRowAnimation:UITableViewRowAnimationTop];

插入一些自定义图形(cellForRowAtIndexPath),看起来非常相似。

答案 3 :(得分:0)

这两个应用程序正在做的事情完全不同。 Tweetie将一个新单元格叠加在现有单元格的顶部,而PasteBot则在下面创建一个新单元格,并为表格视图的扩展设置动画。揩油!与PasteBot做同样的事情,这是一个非常酷的效果,我想复制。