gpt4 book ai didi

ios - 如何在 UIView 表格单元格中制作幻灯片

转载 作者:行者123 更新时间:2023-11-29 10:57:02 26 4
gpt4 key购买 nike

我正在尝试创建一个 UITableView这样当用户触摸我的正常 UIViewTableCell另一个 UIViewTableCell使用新的单元格格式从右侧滑入。这个新UIViewTableCell不离开 UITableView .

UIViewTableCell s 是 2 个不同的自定义单元格。

我想知道是否有办法交换一个 UITableViewCell那是 X type另一个UITableViewCell那是 Y type有动画滑动效果?

我查看了以下代码,但我不明白我的 Cell 信息应该放在哪里。

[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:myIndexPaths
withRowAnimation:UITableViewCellRowAnimationRight];
[tableView endUpdates];
[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:myNewIndexPaths
withRowAnimation:UITableViewCellRowAnimationLeft];
[tableView endUpdates];

非常感谢任何有关如何执行此操作的指导。

PS:我不是在寻找 repo 协议(protocol)。我想了解这是如何完成的。

最佳答案

基本上,表格 View 单元格动画的工作方式是更新数据源(通常是在向表格 View 提供单元格时引用的数组),然后调用动画方法。当您插入单元格时,表格 View 会调用 numberOfRowsInSectioncellForRowAtIndexPath,因此它们返回正确的值很重要。

然而,在这种情况下,单元格的数量保持不变,因此您不能使用插入和删除。但是,您可以使用单元重新加载。理论上,每次调用 didSelectRowAtIndexPath 时,您都会将其添加到应显示新类型单元格的分接索引路径列表中。或者,如果您一次只想出现这些特殊单元格中的一个,则可以使用单个 NSIndexPath 变量。然后你会打电话

[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationRight]; //or left

然后,在 cellForRowAtIndexPath 中,您将检查特定行是否需要不同类型的单元格,然后您将在此处返回该新类型。这样,您需要呈现新型单元格的代码就与新单元格的初始化隔离开来。

希望这对你有用!

关于ios - 如何在 UIView 表格单元格中制作幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17790905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com