2012-02-14 7 views
1

私はiPadアプリを書いており、目的Cに非常に新しいです。私は、現在、ビューコントローラ内のメニューとしてポップオーバーをメニューとして使用しようとしています。私はポップアップを設定する方法を理解し、ユーザーがアイテムを選択するためのテーブルビューを持っています。しかし、私はどのようにポップオーバーを保持するコンテナビューに情報を戻すのかわかりません。 didSelectRowAtIndexPathは、おそらくPopover View Controllerの内側にあるUITableViewController内で呼び出されます。この情報をコンテナに戻す方法について、誰かが正しい方向に向けることができますか?メニューチュートリアルとしてのiOSポップオーバー

ありがとうございます!

+1

iOSを初めてお使いの方は、スタンフォード大学のiTunesUでこの優れたiOS 5無料コースをご覧ください。 CS193P:iPadとiPhoneアプリケーションの開発(2011年秋):http://news.stanford.edu/news/2011/november/itunes-apps-class-111511.html –

答えて

1

デリゲートを使用する必要があります。この状況では非常によく使用されるパターンです。私はこの例に似た質問SOへの答えを持っています。あなたがまだ明確でない場合は、私に知らせてください。

+0

UIPopoverに関するチュートリアルが必要な場合は、これをチェックしてくださいアウト:http://www.raywenderlich.com/1056/ipad-for-iphone-developers-101-uipopovercontroller-tutorial – user523234

0

まあ、私はあなたのUIPopoverControllerの代理人があなたのコンテンツビューで、もしそうなら、あなたはUITableViewからparentViewControllerプロパティを要求し、それのデリゲートを取得するためにUIPopoverControllerにキャストすることができます(お使いの場合には代理人があろうと仮定しますコンテナビュー)。

0

また、私はこの問題の答えを探しています。 NSNotificationを使って解決しました。ポップアップを表示するビューコントローラが通知を受け取るために登録する必要があり

:ここ

はどのようだ

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(languageSetup) name:SPVWChangeLanguage object:nil]; 

// languageSetupがSPVWChangeLanguageは、あなたが意志の文字列で、呼び出される関数です私は今viewDidAppear

にこの行を追加あなたのポップアップビューコントローラ

で定義しますポップアップを却下する前に

[[NSNotificationCenter defaultCenter] postNotification: [NSNotification notificationWithName: SPVWChangeLanguage object:self]]; 

:すべてです

[self.popOverController dismissPopoverAnimated:YES]; 

をユーザーがテーブルで何かを選択したときのnあなたのポップアップ・ビュー・コントローラは、この行を追加します。セレクタlanguageSetup(私の場合)が呼び出されます。あなたのビューコントローラがなくなったときに通知を削除してください:

[[NSNotificationCenter defaultCenter] removeObserver:self]; 

私はviewWillDisappear

でそれを行う、私はもっと簡単な方法がなければならないと思います。しかし、少なくとも、これは私のために働く。

関連する問題