gpt4 book ai didi

iphone - 重新加载 TableView 数据并取消选择单元格

转载 作者:可可西里 更新时间:2023-11-01 05:24:01 25 4
gpt4 key购买 nike

我有一个 TableView ,我想在从详细 View 返回时取消选择之前选择的单元格,或者在用户创建项目时取消选择新添加的单元格。

但是,由于有时会添加新项目,因此会通过在 viewWillAppear: 中调用 reloadData 来刷新表格。这意味着当 View 出现时没有任何单元格被选中,即使我有 self.clearsSelectionOnViewWillAppear = NO

通过在 TableView 出现后选择和取消选择单元格(在 viewDidAppear: 中),取消选择动画的时间对于用户来说明显不同(自己尝试,它速度较慢,而且感觉不那么光滑)。

即使在表格 View 刷新后,我应该如何保留选择? (请记住,根据具体情况,我希望取消选择之前选择的单元格或新创建的单元格。)或者我是否应该以某种方式重新加载表格中的数据?

最佳答案

您可以从 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 方法中保存 NSIndexPath,当 View 重新加载时取消选择行。

另一种方法是将 NSIndexPath 和当前 UITableViewController 传递给您正在创建的 UIViewController ,当 UIViewController 弹出,您取消选择特定行。

创建新项时,将一个添加到 indexPath 的行元素以取消选择正确的行。

您也可以只重新加载已更改的行:

[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationNone];

[self.tableView selectRowAtIndexPath:indexPath
animated:NO
scrollPosition:UITableViewScrollPositionNone];

[self.tableView deselectRowAtIndexPath:indexPath animated:YES];

关于iphone - 重新加载 TableView 数据并取消选择单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10325621/

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