1

絵コンテを独学しようとして、人々が答えてくれることを望んでいた質問に出くわしました。

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

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

これを他にどのように処理すればよいですか?

ありがとう!

4

1 に答える 1

0

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

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

于 2012-02-27T16:59:28.693 に答える