3

他のすべての上に浮かぶ小さなオーバーレイビューを作成したいと思います。タッチを受け入れるためのビューが必要であり、基になるビュー間の遷移中でも所定の位置にとどまる必要があります。私がこれまでに試したこと:

  1. キーに挿入されたスタンドアロンビューUIWindow。明らかな欠点は、ビューがどのビューコントローラにも接続されていないことです。つまり、(少なくとも?)回転イベントを手動で処理します。

  2. UIViewController封じ込め、フローティングビューを含む「ルート」ビューコントローラがあり、すべてのナビゲーションはその下で行われます。これは非常に「第一級市民」のソリューションですが、モーダルビューコントローラーを提示すると、フローティングビューと重複します。

  3. 次にUIWindow、フローティングビューを含むルートビューコントローラーを使用します。これはAppleの推奨事項に反しており、どのイベントをどのウィンドウに送信するかをフィルタリングするのに問題がありました。

脆弱なハッキングをあまり必要としない実用的なソリューションを持っている人はいますか?

4

1 に答える 1

0

最後に、私はJonathanの提案に従い、キーウィンドウに挿入された別のビューとしてオーバーレイを実装しました。ビューには関連付けられたコントローラーオブジェクト(のサブクラスでNSObjectはなくUIViewController)があり、このコントローラーが回転ロジックを処理します。そうすれば、実際のオーバーレイオブジェクトを実装するビューは、回転イベントをまったく気にする必要がありません。

于 2013-01-31T13:33:55.683 に答える