1

我拿了一个滚动视图,我正在动态添加标签,看起来像这样

for(int tempvariable=0; tempvariable<n;tempvariable++)
{
   CGRect labelFrame2 = CGRectMake(  x3,y3, 20, 20 );
   UILabel *label3=[[UILabel alloc]initWithFrame:labelFrame2];
   [subview addSubview:label3];
}

[self.scrollView addSubview:subview];

"n"是将标签n次添加到子视图后的动态值我已将子视图添加到滚动视图。现在我想打印滚动视图上所有标签的标题NSLog(@'");

如果我想更改一些标签的标题,我怎么能只通过没有子视图的滚动视图来做到这一点?

4

2 回答 2

2
for (UIView *subview in self.scrollView.subviews)
{
    if ([subview isKindOfClass:[UILabel class]])
    {
        UILabel* l=(UILabel)subview;
        NSLog(@"%@",l.text);
        l.text=@"new title";
    }
}
于 2012-10-29T19:37:23.783 回答
0

您可以设置标签以找到要更改标签文本的标签。

for(int tempvariable=0; tempvariable<n;tempvariable++)
{
   CGRect labelFrame2 = CGRectMake(  x3,y3, 20, 20 );
   UILabel *label3=[[UILabel alloc]initWithFrame:labelFrame2];
   label3.tag = tempVariable;

// you can set the label text here..
   [subview addSubview:label3];
}

正如@tillerstarr 在他的回答中提到的,您可以迭代您的子视图以获取标签的文本。

for (UIView *subview in self.scrollView.subviews)
{
    if ([subview isKindOfClass:[UILabel class]])
    {
        if (subview.tag == 5) {
             UILabel* l=(UILabel)subview;
             // you can check the tag value and change the label title as like this
             l.text=@"fifth label";
          }
    }
}
于 2012-10-29T19:44:10.617 回答