2012-03-13 11 views
0

アプリケーションの起動時に、起動時に表示されたビューコントローラからアラートビューを表示することがあります。ユーザーがこのアラートビューでキャンセルボタンをクリックしない場合は、別のビューコントローラーでアクションを実行する必要があります。アラートビューの後にView Controllerでアクションを実行する

これはどのようにして達成できますか? NSNotificationCenterを使用して、アクションを実行するビューコントローラにオブザーバを追加することを考えました。その後、現在のビューコントローラから通知を送信します。問題は、起動時にこのアラートビューが表示されるため、viewDidLoad:がビューコントローラでまだ呼び出されていないため、通知用のオブザーバを追加する場所がわかりません。

どのようにすればいいですか?

答えて

3

は、あなたがそれを作成しているところはどこでもアラートビューのデリゲートを設定し、実装します。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

buttonIndex != alertView.cancelButtonIndexならば、あなたがあなたのアクションを行う必要があります。

+1

問題は、タブバーコントローラで選択したタブを変更する必要があるということです。これは簡単に実行できますが、新しいView Controllerでメソッドを呼び出す必要もあります。ですから、 'buttonIndex!= alertView.cancelButtonIndex'のときは、タブバーを変更し、ちょうど変更したビューコントローラのメソッドを呼び出します。 – simonbs

+0

次に、そのタブのビューコントローラへの参照を持っています(必要ならばタブコントローラの 'viewController'プロパティを介して取得できます)。もちろん、 – mattjgalloway

+0

。私はそれについて考えていたはずです。タブバーコントローラからビューコントローラを取得することは問題ありません。ご助力ありがとうございます! – simonbs

関連する問題