0

これで、配列内にあるが以下を使用するUIImageViewを表示できます。

[[self.guess objectAtIndex:1] setFrame:CGRectMake(20, 20, 100, 100)];
[self.view addSubview:[self.guess objectAtIndex:1]];

配列内のUIImageViewの1つで画像を変更したい場合は、次を使用できます。

[self.guess replaceObjectAtIndex:1 withObject:Square];

ただし、元のビューを削除してから、新しいサブビューを再度追加する必要があります。

[[self.guess objectAtIndex:1] removeFromSuperview];
[self.view addSubview:[self.guess objectAtIndex:1]];

問題は、私の新しいサブビューが元の画像のフレーム位置とサイズを継承しないことです(これは変更されている可能性があります)。これをもっと簡単に行う方法はありますか?

私はこのようなものを望んでいました。それは、同じ位置で同じサイズの元の画像を更新するだけです。

[self.guess.image replaceObjectAtIndex:1 withObject:Square.image];

再度、感謝します!

4

3 に答える 3

1

配列に画像のみを保存し、UIImageViewを1つだけ持つことは可能でしょうか?次に、UIImageView要素内の画像を置き換えるだけです

于 2012-05-19T08:08:47.860 に答える
1

Radu が既に述べたように、画像の配列、または imageNames を保持する方が適切です。次に、superView から imageView を削除する必要もありません。ただ 1 つの ImageView を再利用するだけです。

だからあなたが残したものはこのようなものです

yourImageView.image = [self.guess objectAtIndex:1];

そして、配列に名前のみを保存する場合

yourImageView.image = [UIImage imageNamed:[self.guess objectAtIndex:1]];
于 2012-05-19T09:27:06.480 に答える
0

まだこれを試したことがあるかどうかはわかりませんが、これはうまくいくはずです。

UIImageView *img = (UIImageView *)[self.guess objectAtIndex:1];
img.image = Your Image;
于 2012-05-19T08:57:21.020 に答える