UITableView在滚动表时使用NSTimer重新加载数据

时间:2012-09-21 21:14:46

标签: ios uitableview scroll reloading

我有一个包含几行的简单UITableView。每行包含由UITextLabel表示的倒数计时器。选择行时,倒计时开始。倒计时开火日期由localNotification设置。触发日期的时间显示在UITextLabel

刷新表以viewWillApper方法开头,下面一行:

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(refreshTable) userInfo:nil repeats:YES];

refreshTable方法包含一行:

[tableView reloadData]

一切都按预期工作,但当我开始滚动tableView(不释放手指)时,倒数计时器不会更新。

我在refreshTable方法中设置了一个日志,以查看滚动表时是否调用此方法。结果是否定的。滚动refreshTable时,不会调用tableView方法。

有人能告诉我如何解决这个问题吗?

我已经检查了默认的时钟应用程序(通过苹果)。在第一个选项卡(世界时钟)中由表视图表示。每排内都有一个红色的时钟。在滚动表格时,手牌正在更新,这意味着在滚动时更新表格视图是可能的......某种程度上

提前致谢

1 个答案:

答案 0 :(得分:1)

你看,UITableView类里面有一个UIScrollView。您可以使用UIScrollViewDelegate强制重新加载页面。这是文档:link。看看– scrollViewDidScroll:

迭代表的子视图,直到找到Scroll。如果您发布一些代码,也许我可以帮助更多