0

これを正しく行っているかどうかはわかりませんが、基本的には、コントローラーのロード時に uiimageviews をインスタンス化したいと考えています。その後、タイマーで実行するメソッドを実装するときに、インデックスに応じて uiimageview の参照を取得し、それをビューに追加したいと考えています。

NSMutableDictionary を使用しています。テストするためだけに、すべてのコードを同じメソッドにまとめました。[self.view addSubview:poster] すべきではありません。最初の画像を現在のビューに配置しますか?

self.images = [NSMutableDictionary dictionary];

CGRect imageFrame = CGRectMake(0.0, 0.0, 1024.0, 280.0);


UIImageView *image_one = [[UIImageView alloc] initWithFrame:imageFrame];
image_one.image = [UIImage imageNamed:@"image_one.png"];
NSString *theKey = [NSString stringWithFormat:@"%d",0];
[self.images setObject:image_one forKey:theKey];





UIImageView *image_two = [[UIImageView alloc] initWithFrame:imageFrame];
image_two.image = [UIImage imageNamed:@"image_two.png"];
NSString *theKey1 = [NSString stringWithFormat:@"%d",1];
[self.images setObject:image_two forKey:theKey1];



UIImageView *poster = (UIImageView *)[self.images objectForKey:0];
[self.view addSubview:poster];
4

1 に答える 1

1

まず、NSMutableArray を使用することをお勧めします。とにかくインデックスによって配列内のアイテムを参照しているので、配列を使用することもできます。

ただし、このコードでは、変更する必要があることがいくつかあります。自動リリースされたバージョンを使用する代わりに、NSMutableArray を割り当てる必要があります。

UIImageView にアクセスする場合、キーは整数ではなく文字列です。したがって、次のようになります。

UIImageView *poster = (UIImageView *)[self.images objectForKey:@"0"];
于 2012-10-04T02:57:35.483 に答える