1

タイルのグリッド (すべて UILabels) を作成しているプログラムがあり、コード内の UILabel のテキストをオンザフライで変更できるようにする必要があります。そのため、このタイル マップを移動するたびに、元のマップを変更するのではなく、古いマップの上に新しいマップを再印刷します。

mapLabels[w][h] = [[UILabel alloc] initWithFrame:CGRectMake(cursor.x, cursor.y, tileSize, tileSize)];

mapLabels[w][h].text = [NSString stringWithFormat:@"%d", map[w][h]];

mapLabels[w][h].backgroundColor = [self FindTileColor:map[w][h]];

mapLabels[w][h].textAlignment = UITextAlignmentCenter;

[self.view addSubview:mapLabels[w][h]];

すべてのラベルとその場所を ^ for ループで次のように設定します。誰かがラベルを変更する方法を教えてくれますか?

4

2 に答える 2

0

追加したビューの NSArray であるプロパティaddSubview を使用して、追加したビューにアクセスできます。self.view.subviewsあなたは試すことができます:

UILabel * labelref = [self.subviews objectAtIndex:1];
labelref.text = @"mytext";
于 2012-07-24T20:45:33.810 に答える
0

各ラベルにタグを付ける必要があります

mapLabels[w][h].tag = whatevertag

次に、アクセスしたいときにできること

[self.view viewWithTag:whatevertag]

タグは、新しいラベルを追加するたびにインクリメントできる int になります。

または、すでに持っている配列をそのまま使用できないのはなぜですか?

于 2012-07-24T20:10:56.330 に答える