1

もう一度、私はこれが私がやっている何かばかだとほぼ確実だと確信していますが、私は何時間も頭に頭を打っています&どこにもいません。アプリのナビゲーションバーに20ピクセル以上の濃い色のオーバーレイが表示されるのはなぜですか?

私のアプリケーションのビュー階層を再構成しようとしています。アプリケーションがコンテンツをダウンロードしているときに表示される「読み込み中」ビューを正しく回転させるために、ユーザーインターフェイスの向きの変更をグローバルに検出できる必要があります。 (デバイスの向きの変更は、異なる時間に発生するようで、これらのイベントに応答する必要があるビューは散発的に回転します)。

アプリは、以前にメインウィンドウにUINavigationControllerのビューを追加しました。メインウィンドウにUIViewControllerサブクラスのビューを追加するように階層を変更し、UINavigationControllerのビューをサブクラスのビューに追加しました。 UIViewControllerサブクラスは、 "Loading"サブビューの表示&の回転を管理しています。余分な空のビューを階層に挿入すると、あまり変更しすぎているような気がしませんでした。

私の最初の問題は、UINavigationControllerの位置付けでした。これは20ピクセルが低すぎるため、ステータスバーとナビゲーションバーの間にギャップが生じ、タブバーの下端20ピクセルがカットされてしまいました。 UINavigationControllerのビューのframeプロパティを、UIViewControllerのビューのboundsプロパティに設定して位置を修正することで、これを調整できました。

しかし、今では、ナビゲーションバーの上に20ピクセル高の暗い「オーバーレイ」がついています。私が推測しなければならないのは、50%の不透明度で黒色だったと言えるでしょう。このバーのタッチイベントは機能しません(オーバーレイから「戻る」ボタンをタップしようとすると、何も起こりません)。高さがステータスバーの高さと等しいという事実は私を逃れさせていないが、私はそれが原因で何が起こる可能性があるのか​​について全面的に迷っている。

Ridiculous navigation bar problem

は、私は、これは愚かな感じが嫌いなので、誰もがこの問題に任意の洞察力を持っている場合、あなたは本当に私の一日を作ると思います。前もって感謝します!

+0

投稿コードは、人々があなたを助けるのに役立ちます。 – Aidanc

+0

20ピクセルの高さを想定して、ステータスバーと何か関係があります。 IB/XIBファイルやソースコードについて少し詳しくお役立てください。 – westsider

答えて

0

[OK]をクリックすると、投稿からいくつかの項目が飛び出します。

私の最初の問題は、 UINavigationControllerの位置付けだった - それは、これは私はそれはあなたの新しい問題に関連していると信じています

低すぎる20個の ピクセルでした。

私はそれが上にロードされたビューがオフセットされたように、この音を のUIViewControllerのビュー

の boundsプロパティに UINavigationControllerのビューの フレームプロパティを設定することにより、これを調整することが可能でした境界に設定すると、ウィンドウの表示領域にその位置が変更されました。

このバーのイベントは、表示されません。 (例:私は、オーバーレイを通じて「戻る」 ボタンをタップしようとすると、何も は起こりません)

これは大きなものです。タッチイベントがビューに送信されていない場合は、OSが表示しているビュー(または表示したいビュー)が表示されないため、ビューにはメッセージが表示されません何かをする。

あなたが言ったことから、あなたの問題はあなたが追加したばかりのベースビューコントローラにあると思います。フレームをオンに戻して、必要な場所に合わせてください。次に、ナビゲーションコントローラフレームを設定するために入力したコードを取り出します。ナビゲーションコントローラは、追加したビューにも適合していなければなりません。また、メインビューを表示する必要がある場合(明らかに20ピクセル高い)、すべてが機能するはずです。

関連する問題