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 に答える