好吧,我有8个标签,我想循环通过它们,但没有运气。
这就是我尝试过的。
for (int i; i = 0; i < 10; i++)
{
double va = [varible1.text doubleValue] + i;
int j = 0 + I
label(j).text= [[NSString alloc]initWithFormat:@"%2.1f", va];
}这是错误输出。我的标签的名称类似于label0、label1、label2
任何帮助都将不胜感激。
发布于 2009-08-10 04:34:07
您可能应该将所有标签添加到一个C数组中,可能是在-viewDidLoad中
UILabel* labels[] = { label0, label1, label2, ... };(不完全确定语法),然后访问它们,如下所示
labels[i].text = ...顺便说一句,我认为你在这里泄露了内存:
labels[i].text = [[NSString alloc]initWithFormat:@"%2.1f", va];initWithFormat:将返回保留计数为1的字符串。labelsi.text将再次保留该值。您应该在设置标签的文本后释放字符串。我可能会在这里自动释放它:
labels[i].text = [[[NSString alloc]initWithFormat:@"%2.1f", va] autorelease];或者使用stringWithFormat (它返回一个自动释放的字符串):
labels[i].text = [NSString stringWithFormat:@"%2.1f", va];发布于 2009-08-10 04:27:18
label(j)不等同于label0、label1等。
您应该创建一个标签的NSArray,然后您可以使用[arrayOfLabels objectAtIndex:j]访问它们。如果您不确定这是什么意思,请阅读有关NSArray的文档...
发布于 2013-07-15 17:57:54
for (UILabel *lbl in self.view.subviews)
{
[lbl setFont:[UIFont fontWithName:@"AppleGothic" size:22]];
} 它会改变你ViewController中的所有标签,只需给标签加上标签即可。
https://stackoverflow.com/questions/1253091
复制相似问题