gpt4 book ai didi

objective-c - 查询 UITableView 选定的单元格以显示 "Delete"按钮

转载 作者:行者123 更新时间:2023-11-29 04:45:36 27 4
gpt4 key购买 nike

背景:

我有一个 UITableView,它显示数组中的数据。当数组计数大于 0 时,我利用 KVO 在导航栏中显示“编辑”按钮,并在计数为 0 时自行删除。这工作正常。编辑时,我将“删除”栏按钮项目放置为右侧栏按钮项目。这也运行良好。默认情况下,按预期启用“删除”按钮。 TableView 将 multipleSelectionDuringEditing 设置为 YES。我能够选择多个项目并正确删除它们。我的目标是在禁用“删除”按钮的情况下进入编辑状态,直到选择了至少 1 个项目,然后在有 0 个选择时将其禁用。我尝试过一些事情,但没有结果。我尝试拥有一个 NSMutableSet 属性(私有(private)),我可以监视它的计数并适本地启用/禁用“删除”按钮。然而,我已经碰壁了。 tableView:DidSelectRowAtIndexPath: 仅在编辑期间在初始选择时调用,而不是在取消选择行时调用。我是否忽略了在编辑模式下监视表格选择的能力?提前致谢。

此外,如果我要将“删除”按钮移动到 UIToolbar,并打算同时包含“全部删除”按钮,是否有办法选择所有行(即使是那些不可见的行)?

最佳答案

根据文档,在 TableView 上调用 -indexPathsForSelectedRows 可以告诉您现在选择了多少个,并且应该调用您的委托(delegate)的 -tableView:didDeselectRowAtIndexPath:每当用户取消选择一行时。

我没有看到以编程方式选择多行的便捷方法。如果您正在执行“全部删除”命令,那么删除基础模型对象然后告诉表进行更新可能更合适(也就是说,不必担心首先选择它们)。您可以使用 -deleteRowsAtIndexPaths:withRowAnimation: 和/或 -deleteSections:withRowAnimation: 对其进行动画处理;无论哪种方式,您都必须自己枚举要删除的行/部分,但是表部分/行与模型对象集合之间的对应关系应该非常简单,特别是因为您正在删除所有内容。

关于objective-c - 查询 UITableView 选定的单元格以显示 "Delete"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693036/

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