0

ナビゲーションバーの下に薄いステータスバーのようなビューを表示する必要があります。このビューはスライドして表示され、特定のアクションが発生したときに見えなくなる前に数秒間表示されたままになります。

表示/非表示が必要なときにフレームを適切にアニメーション化することで、特定のViewControllerに対してこれを簡単に行うことができます。

ただし、いくつかの異なるView Controllerがあり、各コントローラーのバーの外観を管理するために同じコードを複製したくありません。コードの重複に加えて、コントローラーの変更時にバーが表示されるようになっている場合は、コントローラー間を移動するときにちらつきが発生する可能性があります。

この問題に取り組むためのオプションは何ですか?

4

2 に答える 2

1

appDelegateにメソッドを作成して、カスタムビューをメインウィンドウに追加します。このように、show custom viewメソッドをトリガーすると、ビュー階層の最上位になります。

注意すべき点の1つは、アプリの向きが変更された場合は、カスタムビュー用に手動で変更する必要があるということです。

于 2012-08-13T15:49:48.223 に答える
0

UIViewそれを階層の上位に移動するだけです。たとえば、UINavigationControllersuperviewに配置すると、UINavigationControllerのビューの上に表示されます。

UIViewそれを前面に持ってきて、この「ステータスバーのような」フレームをconvertRect:toView:または同様のもので変換する必要があるかもしれません。

于 2012-08-13T15:47:18.170 に答える