2011-07-26 6 views
0

説明しましょう。私はほぼMainViewControllerによって制御されるscrollViewの画像を表示するiPhoneアプリを持っています。私は、オプションバンドルにリンクされているUISwitchを表示するOptionsViewを開きます。設定へのリンクはすべて良いです。ユーザーがOptionsView上のUISwitchをクリックしてDoneボタンをクリックすると、モーダルビューを閉じ、代替画像で置き換えたい画像を表示します。オン画像、またはオフ画像。モーダルビューのUISwitchに基づいてスクロールビューイメージを更新します。

NSUserDefaultsはすべて正しく、私はViewDidLoadメソッドの下のMainViewControllerにif/elseを持っています。これは、アプリがシミュレータにロードされるたびに機能しますが、アプリが実行中でUISwitchが変更されたときに画像を制御することはありません。 if/elseがViewDidLoad以外のものになっているか、画像を更新するためにDoneボタンを取得する必要があると私には思われます。誰かが私を正しい方向に向けることができますか?

+0

私たちにいくつかのurコードplsを表示 – booleanBoy

答えて

0

スイッチの値を変更した後、NSUserDefaultsを同期しましたか?

[[NSUserDefaults standardUserDefaults] synchronize]; 

新しい値を設定してそれが役立つかどうかを確認してみてください。また、- (void)viewWillAppear:(BOOL)animatedメソッドでif/elseステートメントを移動してみてください。- (void)viewDidLoadはビューがロードされているときに1回だけ呼び出されますが、モーダルビューが閉じているときは呼び出されないためです。

+0

NSUserDefaultsをいくつかの重要な場所で同期化していて、その部分に問題はありません。私は示唆したようにして、if/elseをViewDidAppearに移動し、それは動作しますが、何らかの理由でクラッシュします。私はそれを見てみましょう。あなたの入力を感謝します。 – Boyplunder