我已经使用for循环创建了5 UILabels
,我将每个项目标记设置为循环计数。我正在用viewdidload
方法进行此操作,但是后来我尝试使用.tag
UILabels
之一这是我创建uilabels
的方式for (int i = 0; i < 5; i++) {
finishingCopyWidthLabel = [[UILabel alloc] initWithFrame:CGRectMake((i * quickSelectionBarSectionWidth)-180, 2.0, 100.0, 20.0)];
finishingCopyWidthLabel.backgroundColor = [UIColor clearColor];
finishingCopyWidthLabel.textAlignment = NSTextAlignmentCenter;
finishingCopyWidthLabel.text = @"";
finishingCopyWidthLabel.tag = i;
[quickSelectionBar addSubview:finishingCopyWidthLabel];
}
那么,这就是我试图将文本分配给UILable
的方式,但是它不起作用,任何帮助使作业工作的帮助都很棒。
UILabel *fCopyWidthLabel = (UILabel *)[finishingCopyWidthLabel viewWithTag:1];
fCopyWidthLabel.text = [prefsDictionary objectForKey:@"QuickWidthOne"];
从您的问题更新中,而不是此UILabel *fCopyWidthLabel = (UILabel *)[finishingCopyWidthLabel viewWithTag:1];
尝试此
UILabel *fCopyWidthLabel = (UILabel *)[quickSelectionBar viewWithTag:1];
请使用此
UILabel *fCopyWidthLabel = (UILabel *)[quickSelectionBar viewWithTag:1];
而不是
UILabel *fCopyWidthLabel = (UILabel *)[finishingCopyWidthLabel viewWithTag:1];
问题是您是从同一标签(finishingcopywidthlabel)而不是父级视图(QuickSelectionbar)引用UILabel
。
请在循环中添加方法。
[self.view addSubview:finishingCopyWidthLabel];