我正在尝试创建UITableView
,以便当用户使用新的单元格格式从右侧触摸我的正常UIViewTableCell
另一个UIViewTableCell
幻灯片时。这个新的UIViewTableCell
不会离开UITableView
。
UIViewTableCell
是2个不同的自定义单元格。
我想知道是否有办法将UITableViewCell
的{{1}}替换为另一个X type
UITableViewCell
,并带有动画滑动效果?
我查看了以下代码,但我不明白我在哪里放置我的Cell信息。
Y type
任何关于如何做到这一点的指导都非常感谢。
PS:我不是在寻找回购。我想了解这是如何完成的。答案 0 :(得分:2)
基本上,表视图单元格动画的工作方式是更新数据源(通常是在向表视图提供单元格时引用的数组),然后调用动画方法。当您插入单元格时,表格视图会调用numberOfRowsInSection
和cellForRowAtIndexPath
,因此返回正确的值非常重要。
但是,在这种情况下,单元格的数量保持不变,因此您无法使用插入和删除。但是,您可以使用单元格重新加载。从理论上讲,每次调用didSelectRowAtIndexPath
时,您都会添加一个应该显示新类型单元的抽头索引路径列表。或者,如果您一次只想要其中一个特殊单元格,则可以使用单个NSIndexPath
变量。然后你会打电话给
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationRight]; //or left
然后,在cellForRowAtIndexPath
中,您将检查特定行是否需要不同类型的单元格,并且您将在那里返回该新类型。这样,呈现新类型单元所需的代码与新单元的初始化是隔离的。
希望这适合你!