2013-07-26 43 views
0

我有一个UIView编程生成UILabels的数量(数据库中的每个记录一个)。我希望这些定期更新(例如每5秒一次),但由于它们是动态要证明它们很难获得“处理”,以改变它们的值。如何使用CADisplayLink以编程方式更新生成的UILabels?

任何人都有一个想法如何做到这一点?

+0

http://stackoverflow.com/a/7799252/1059705看到这个链接,可以帮助你。 – Bala

回答

1

创建后,我将为每个标签设置标签,并将每个标签值与您创建的数组的索引并行增加。然后你就可以抓住他们的任何选择您使用

for (int i = 0; i < [arrayOfData count]; i++){ 

UILabel *label = (UILabel*)[self.view viewWithTag:i]; 

//update label 

} 

希望自己的特定视图声明为您CADisplayLink对象我的理解正确你的问题

0

的方法有很多,首先你需要保持在一个参考标签......一个数组应该很好,并且最好在模型中使用自定义标签,这样您实际上可以更改模型上的值,只需向标签发送消息以重绘内容即可用这种方法做到这一点:

[labelArray makeObjectsPerformSelector:@selector(yourMethodToRefreshTheContent)]; 

你甚至可以传递一个对象,但是这意味着,这将是同一个对象的所有标签

[labelArray makeObjectsPerformSelector:@selector(valueSetter) withObject:newValue];