0

我有一个应用程序,UITableView在我Cells的应用程序中有一个,UIImageViews并且UILabels可以更改图像/文本颜色的白天主题和夜间主题(尝试自动设置)。

我的问题是我在填充表格时设置图像和颜色,cellForRowAtIndexPath并且在白天“主题”,然后如果我在晚上“主题”几个小​​时后重新打开应用程序并且应用程序仍然在“背景”中并且不需要重新加载(即viewDidLoad不触发),“主题”显示的那一天,直到我滚动UITableView,然后当新单元格通过滚动进入视图时显示“主题”。

当一天中的时间改变时,我应该如何在我的单元格中设置对象?我正在考虑使用NSTimer,但我不确定如何更新单元格中的对象。我也在考虑使用适当的方法AppDelagate来启动事物,但是有没有办法强制重新加载TableView

有什么建议么?

4

2 回答 2

0

您需要使用 applicationWillEnterForeground: 并在表视图上调用 reloadData。

于 2012-11-11T05:04:06.643 回答
0

你可以在被调用[tableView reloadData]viewWillAppear调用。viewDidLoad 对您来说不会经常发生,您真正想要的是在视图即将出现给用户时刷新。

您还可以检查applicationWillEnterForeground您的应用程序委托并向您的视图控制器发出信号以通过这种方式重新加载其表格视图。

于 2012-11-11T05:04:57.583 回答