表格重新加载数据(UITableView,UITableViewCell,UITableViewDelegate)时,滑动会取消

时间:2019-04-10 15:50:19

标签: c# ios xamarin.ios

在表重新加载其数据时,是否可以保持当前向左或向右滑动的UITableView's UITableViewCell

我有一个表格,每分钟都会重新加载数据以保持最新状态。我使用UITableViewDelegate进行了滑动,一切正常。直到一分钟的重新加载时间到来,当前已刷卡的单元格仍未刷卡。

我尝试保存有关上一次被DidEndEditing刷过的单元格的信息 和WillBeginEditing方法-可以正常工作。但是我没有办法以编程方式将单元设置为“滑动状态”。

当然,我尝试(且可行)防止在刷某些单元格时重新加载。但这不是我想要的,因为它在刷卡单元格时不会使表格保持最新状态。

我可能会丢失表的某些属性吗?还是如果没有实现自己的“委托”并亲自处理所有事情,这根本不可能吗?

2 个答案:

答案 0 :(得分:0)

一种解决方案是关闭应用程序内的服务器更新,直到完成滑动操作为止,并且仅在滑动单元格操作之后(使用此操作更新服务器,如果要通过delete操作更新服务器),则仅切换重新在服务器上更新。否则,即使在使用操作更新了单元格(例如已读/未读)之后,来自服务器的具有旧数据的新更新也会影响您的视图。这是我用来通过滑动将标记为已读的电子邮件应用程序更新的方式。

答案 1 :(得分:0)

您可以直接在更改后的tableView(_, cellForRowAt:)子类上更新视图,而不是更新UITableViewCell中的单元格。