私はARCでポップオーバーを使用しており、参照カウントを維持するために特別な操作を行う必要はありません。ポップオーバーがオンスクリーンである限り、それを生かし続けるための強い参照があります。あなたが投稿できる失敗事例はありますか?
私が興味深いものを挙げると、barButtonItemを繰り返し押すと、ポップオーバーの複数のインスタンスが作成されます。彼らはお互いの上に積み重なるので、それらを見るのは難しいです。しかし、ポップアップの周りの影は、インスタンスが追加されるたびに暗くなります。問題への真のアドバイスは、すべてのインスタンスを別々に却下しなければならないということです。
解決策の1つは、UIBarButtonItemをポップアップの出入りの途中で無効/有効にすることです。これは私にとってはうまくいったが、少し面倒だった。 (私は2つの場所にコードを入れなければならなかった.1つは自分の解任者に、もう1つはpopoverControllerの代理人の - popoverControllerDidDismissPopover:メソッドで、ユーザーがポップオーバーの外にクリックしてそれを閉じた場合)。
私は(優秀)スタンフォードCS193Pコースでは、ポップアップが表示されている間にボタンを隠すことでこの問題に取り組んでいます。
実際、iOSの動作はバグのようです。 barButtonItemのクリックがのポップオーバーの外側にあるであり、barButtonItemのビューがポップオーバーのパススルー配列に含まれていない場合、(文書に従って)popoverを終了するはずです。しかし、Appleは私に尋ねなかった。
パススルー配列が最初はnilであることを確認したところ、その配列からbarButtonItemのビューを削除することはオプションではありません。 Drat。
この関連の質問もご覧ください:http://stackoverflow.com/questions/2642405/dismissing-ipad-uipopovercontroller-when-barbuttonitem-is-pushed-while-its-open?rq=1 – jbbenni