2012-01-05 10 views
1

私はいくつかのボタンとImageViewを持つビューを持っています。ボタンを押すたびに、各ボタンに関連付けられた特定の画像を使用して、ImageView内のImageを変更したいと思います。私はまた、ビューが作成されるときに私が割り当てるデフォルトのイメージを持っています。ボタンイベントに応答して画像を更新する

しかし、ボタンを押すと、画像が変わるのを見るために、私はreloadInputViewsメッセージをメインビューに送ります。これにより、デフォルトのイメージは、ビューがロードされるたびに設定されるため、イメージビューに残ります。 viewDidLoadにデフォルトの画像を割り当てます。別の場所に割り当てる必要がありますか?それとも私がこれを達成するための別の方法がありますか?

答えて

2

をsetNeedsDisplayない:

self.myImageView.image = [UIImage imageNamed"yourImageName.png"]; 

ビュー全体をリロードする必要はありませを...

+0

私のために働いた、ありがとう! –

0

あなたのUIImageViewは、おそらく最初responder

reloadInputViews
アップデートカスタム入力とアクセサリビューオブジェクトが最初の応答者ではないので、それは働いていません。
- それは最初の応答者であるときは、現在のオブジェクトに関連付けられたカスタム入力ビューや入力アクセサリビューをリフレッシュするには、このメソッドを使用することができます
(無効)reloadInputViews
議論。ビューは直ちに置換されます。つまり、アニメーション化されずに表示されます。 現在のオブジェクトが最初のレスポンダでない場合、このメソッドは効果がありません

変更が表示されない場合は、代わりにUIViewメソッドを使用してください。

setNeedsDisplayを再描画が必要であると受信機の全体の境界矩形をマーク。
- (ボイド)あなたのImageViewのイメージプロパティを変更し、各ボタンのためにあなたの行動METHOD-(IBAction)で

+0

これを試しても機能しませんでした。最初に最初のレスポンダーとして何かを設定する必要がありますか? –

+0

@AndrewBarinowどのように新しい画像を設定しましたか? –

+0

私はView Controllerのプロパティとして 'NSString'オブジェクトの配列を持ち、現在のイメージを表す' NSString'を持っていました。その文字列と配列内の特定のインデックスを使用してイメージビュー内にイメージを設定します。 –

関連する問題