所以我有一堆动态加载的标签..
他们每个人都有相同的名字,因为不知道会有多少..
我有另一种方法(不是创建标签的方法)更改其中一个标签的文本,但是当我运行它时,只有创建的最后一个标签会改变..
我需要它来更改具有特定标签或其他东西的那个..
非常感谢帮助,这个网站还没有让我失望。
所以我有一堆动态加载的标签..
他们每个人都有相同的名字,因为不知道会有多少..
我有另一种方法(不是创建标签的方法)更改其中一个标签的文本,但是当我运行它时,只有创建的最后一个标签会改变..
我需要它来更改具有特定标签或其他东西的那个..
非常感谢帮助,这个网站还没有让我失望。
self.myLabel 不能连接多个标签,所以它会包含上次创建标签的引用,你必须每次创建新标签,你不能通过类属性跟踪它们,你必须通过它们的标签访问标签.
您可以为每个标签设置标签,下面是示例代码,
for(int i=0; i< numberOfLabels; i++)
{
UILabel *label = [[UILabel alloc] init];
label.tag = i; // do not use tag 0 here.. u can use i+1, or i+100.. something like this.
[self.view addSubview:label];
}
访问标签,
UILabel *label = (UILabel*)[self.view viewWithTag: labelTag];
好的,因为您没有任何代码可以显示,我想我必须推测一下。
我的理解是你正在用你的UILabels
代码创建动态并且你想访问它们。UILabels
由于您的所有名称都相同,因此UILabel
每次创建新的UILabel
. 因此,为了跟踪UILabel
您创建的数量,您必须将它们添加到数组中。NSMutableArray
在你的文件中声明一个viewController.h
并确保在viewDidLoad
你分配它就像
arrForLabels = [[NSMutableArray alloc]init];
因为它是一个NSMutableArray
你可以添加对象到它。
所以当你创建一个UILabel
确保你UILabel
在数组中添加相同的实例时
[arrForLabels addObject:yourLabel];
您可以尝试查看NSLog
您的数组以查看其内容。
现在你要做的就是创建一个这样的薄弱环节
UILabel *tempLabel = [arrForLabels objectAtIndex:1];
现在tempLabel
将是UILabel
更改文本
tempLabel.text = @"My New Text";
它会正常工作。随意询问其中的任何问题。