だから私は動的にロードされたラベルの束を持っています..
どれだけあるかわからないので、それぞれに同じ名前が付いています..
ラベルの1つのテキストを変更する別の方法(ラベルを作成したものではない)がありますが、それを実行すると、最後に作成されたラベルのみが変更されます..
特定のタグが付いているものを変更する必要があります..
このウェブサイトはまだ私を失望させていません。
だから私は動的にロードされたラベルの束を持っています..
どれだけあるかわからないので、それぞれに同じ名前が付いています..
ラベルの1つのテキストを変更する別の方法(ラベルを作成したものではない)がありますが、それを実行すると、最後に作成されたラベルのみが変更されます..
特定のタグが付いているものを変更する必要があります..
このウェブサイトはまだ私を失望させていません。
表示するコードがないので、推測する必要があると思います。
私が理解したのは、あなたがUILabels
urコードでDynamicを作成していて、それらにアクセスしたいということです。あなたはすべて同じ名前を持っているので、新しいを作成するたびUILabels
に前の名前を失う可能性があります。したがって、作成した数を追跡するには、それらを配列に追加する必要があります。ファイルでを宣言し、 uで次のように割り当てるようにしますUILabel
UILabel
UILabel
NSMutableArray
viewController.h
viewDidLoad
arrForLabels = [[NSMutableArray alloc]init];
なのでNSMutableArray
、オブジェクトを追加できます。
したがって、uを作成するときは、インスタンスの配列UILabel
にも同じものを追加するようにしてくださいUILabel
[arrForLabels addObject:yourLabel];
アレイを試して、そのコンテンツを確認できNSLog
ます。
今やらなければならないのは、そのような弱いリンクを作成することだけです
UILabel *tempLabel = [arrForLabels objectAtIndex:1];
今tempLabel
はテキストUILabel
を変更することになります
tempLabel.text = @"My New Text";
それはうまくいくでしょう。問題があればお気軽にお問い合わせください。
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];