2012-08-30 197 views
0

我想建立一个表视图部分到我的iOS应用程序,就像Facebook风格(每行,图像和按钮,许多信息,..)。UITableView +核心动画

我还希望在每一行都包含核心动画效果,就像淡出单元格一样,或者定制图形界面。

你推荐我使用UITableView类还是其他更“可定制”的?

+0

这是一个广泛的问题。你能更具体地说明你正在试图用你的特定应用程序和动画来完成什么?您的细胞将如何定制以及您呈现什么样的数据?核心动画通常是实现目标的工具。你不应该仅仅使用核心动画来发布应用程序(除非你只是想学习框架)。 – J2theC

+0

让我们做一个例子: 我有n行,每一行都有一个图片,一个标题和一个简短的描述,就像TableViewCell布局一样。当我需要删除,添加,更改该行时,我想要对该行应用特定效果时出现问题。 UIView/UITableView类有一些动画需要使用,还是更好地向Core Animation框架寻求帮助? – Wildchild89

回答

2

您应该使用常规UITableView,但自定义UITableViewCellsUITableView的支持衰落和其他类型的动画添加/删除/重装细胞

NSMutableArray *affectedRows = [NSMutableArray array]; 
[affectedRows addObject:[NSIndexPath indexPathForRow:0 inSection:0]]; 
[affectedRows addObject:[NSIndexPath indexPathForRow:1 inSection:0]]; 

// use whatever corresponds 
[self.tableView deleteRowsAtIndexPaths:affectedRows withRowAnimation:UITableViewRowAnimationLeft]; 

[self.tableView insertRowsAtIndexPaths:affectedRows withRowAnimation:UITableViewRowAnimationLeft]; 

[self.tableView reloadRowsAtIndexPaths:affectedRows withRowAnimation:UITableViewRowAnimationLeft]; 

使用这些方法时,因为numberOfRowsInSection注意:函数被再次调用,如果新的结果不匹配新的行数,你的应用程序将崩溃

IE:你有5行,删除2,你的方法必须返回3

+0

谢谢!很好的问题。在我想要更多效果或特定动画的情况下,可以将核心动画方法应用于UITableViewCell? – Wildchild89

+0

我认为这会稍微复杂一点,因为UITableView与UITableViewCell的附着很紧密,一个小小的变化可能成为一个真正快速的问题......如果您打算制作自定义动画,您必须创建自己的TableView-Like上课,手工操作 – Ismael