2012-02-27 5 views
1

私はストーリーボードを教えようとしていて、私は人々が答えを得たいと望んでいた質問に挑戦しました。サブビューからの返事

再利用可能な上部ツールバーを作成して、それを変更する必要が生じた場合に備えて、すべてのシーンを更新するようにしました。私はストーリーボードにサイズのViewControllerを作成しました。メニューの識別子を使用して、各シーンのサブビューにロードします。それはかなりうまくいくように思えます(ただし、間違っていると私に教えてください)。

ここで問題が発生します。そのトップツールバーに、私は私のストーリーボードの別のサイズのViewControllerにポップオーバーとして接続するUIButtonを持っています。基本的に、ドロップダウンメニュー。私がちょうど上のツールバーを読み込むと、うまく動作します。私がセグを使用してそのポップオーバーシーンに通常のボタンだけを接続すると、それも機能します。しかし、ツールバーがサブビュー内にあるときに、ボタンをクリックしてセグに従おうとすると、EXC_BAD_ACCESSでクラッシュします。サブビューからpopOverをスポーンするか、サブビュー内のセグをフォローすることは許可されていないと思いますか?後者は、あなたが効果的にそれを任意のUIオブジェクトで行うので間違っているようです。

他にどのようにこれを処理する必要がありますか?

ありがとうございます!

答えて

0

UINavigationControllerを使用し、UIButton(UIBarButtonItemとして)を含むようにツールバーを設定することをお勧めします。ツールバーやボタンの「追跡」に問題がある場合は、UINavigationControllerをサブクラス化したり、サブクラスのプロパティとしてUIButton(またはツールバー全体)を追加したり、self.navigationControllerプロパティを使用して後続のビューからアクセスしたりすることができます厳密なオブジェクト指向ですが、プロトコルを使用することもできます)。

ポップオーバーに関しては、iPadではOKだがiPhoneでは問題ないと思う。 UIPopoverControllerを実装するためのgithubに関するカスタムプロジェクトがあり、実際にはFacebookアプリケーションはアプリの通知にカスタムポップオーバーを利用しています。あなたがUIPopoverControllerを表示しようとすると、iPhoneは例外を発生させます。

関連する問題