0

UIImageViewを含むxibにビューがあります。xibに表示される画像を設定していますが、正しく読み込まれて表示されます。

ただし、状況によっては、ロードされたイメージを実行時に別のイメージに置き換えたいので、これを実行しています。

NSArray* viewObjects  = [[NSBundle mainBundle] loadNibNamed:@"ParentView"owner:self options:nil];
id object = [viewObjects objectAtIndex:0];
parentView *parentView = (ParentView*)[viewObjects objectAtIndex:0];

UIImage *image = [UIImage imageNamed: @"iconName"];
UIImageView *iv = [[UIImageView alloc] initWithImage: image];
iv.frame = parentView.icon.frame;
parentView.icon = iv;

parentView.iconはUIImageViewです。画像変数はnilではなく、コードの実行時にivでもありません。

iconNameは、プロジェクトにある「iconName@2x.png」という.pngであり、.xib内でUIImageViewとして設定すると、正しく読み込まれて表示されます。しかし、.xibに別のアイコンを設定し、実行時に上記のコードで置き換えようとすると、置き換えられません。

なぜこれが機能しないのか理解できません。

4

1 に答える 1

0

新しい画像ビューを作成していますが、ビュー階層に追加しないでください。既存の画像ビューを使用して新しい画像ビューを割り当てるか、を使用しUIImageて新しく作成したビューをビュー階層に追加しますaddSubview

于 2012-08-27T22:53:53.667 に答える