OStack程序员社区-中国程序员成长平台

标题: ios - 在 UiTableView reloadData 之后保留选定的部分/行 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:29
标题: ios - 在 UiTableView reloadData 之后保留选定的部分/行

我有一个 uitaiteView 在选择 uitaiteViewCell 时,我调用Web服务以获取新数据,然后重新加载 uitaiteView with 新数据。

现在,所选行将始终是返回的新数据的一部分。但是,一个部分中的行数不会是恒定的。

我试图在我重新加载表格 View 后选择的行上保持选择。我从 didSelectRowAtIndexPath 中保存了 indexPath。但是当我打电话时:

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

没有任何反应,我选择的行在重新加载后不再被选中。重新加载 UITableView 后是否有保留选择?



Best Answer-推荐答案


试试

dispatch_async(dispatch_get_main_queue(), ^{ 
      [self.tableView selectRowAtIndexPath:self.selectedIndexPath 
                                  animated:NO 
                            scrollPosition:UITableViewScrollPositionNone];
});

另外,请确保您的 self.indexPath 属性在重新加载 UITableView 后代表相同的单元格。

关于ios - 在 UiTableView reloadData 之后保留选定的部分/行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23262595/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4