2009-04-01 41 views
5

私はこのコードを持っています:UIImageViewのイメージをプログラムで変更できるようにするにはどうすればよいですか?

- (void)viewDidLoad { 
[super viewDidLoad]; 
landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
} 

まず、IBOutletUIImageViewを作成しました。風景がそのUIImageViewを指しています。 InterfaceBuilderでは、そのUIImageViewに特定の画像を表示するように言いました。それは決して変化しません。私はいつもInterfaceBuilderで指定した画像を見る。しかし、私はプログラムでそれを設定したい。これどうやってするの?

+0

が – nduplessis

+0

がこれを見コンセントがIBに接続されていることを確認してください----- http://stackoverflow.com/questions/3321374/cocoa -touch-adding-a-uiimageview-programmatically –

答えて

1

それはあなたがカスタムビューセットを持っていなかった可能性でありますそのnibファイルのためのアップ?私も同じ問題がありました。私はそのビューコントローラのUIviewサブクラスを作成し、Interface Builderに入り、ビューをそのUIViewサブクラスに設定し、UIViewのインポートヘッダをControllerクラスに追加しました。それは私のために何をしたのですか

4

あなたがイメージを変更した後のビューにsetNeedsDisplayを呼び出すしてみてください。

[landscape setNeedsDisplay]; 
+0

setNeedsDisplayを呼び出す必要はありません。 – nduplessis

+0

私はそうも考えていませんでしたが、まったく同じことをしていたコードを見ていました。 setNeedsDisplayが呼び出されました - おそらく不要ですが、ただそこに投げ込んでいました。 –

2

は、このコードを追加し、それはあなたを助けるかもしれない:

-(void)viewDidAppear:(BOOL)animated 
{ 
landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
} 
1

InterfaceBuilderのimageviewとFile's Ownerの間の接続を忘れないでください。

それはあなたがそれ以降必要のみです:

landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
関連する問題