iPhoneでプログラムのウィンドウにビューを追加しているときに、画面の下部に白いバンドを参照してください?
-
12-09-2019 - |
質問
、私の見解では正常に動作します。私は、ウィンドウベースのプロジェクトを使用して、自分でビューを作成し、ウィンドウにサブビューとして追加しようとすると、しかし、それは私の底に白いバンドを与えます。私は前にそれを最初に直面し、この問題に直面したことはありません。
解決
ほとんどの場合何が起こっていることは、あなたがビューを追加していることをそのサイズは、ステータスバーを含み、ウィンドウにステータスバーを使用するための適切な大きされます。
iPhoneの画面が高い480PXであり、上部の20ピクセルは、デバイスのステータスバー(信号強度/無線LANインジケータ、クロックを有するものなど)に割り当てられます。通常、ビューは、ウィンドウの残りの640x460ピクセルのための大きさになると、あなたはビューベースのアプリケーションを開発している場合、それは大丈夫です - そのアプリケーションテンプレートは、すでに他のすべてのサブビューがに追加されますことを320x460ルートビューを提供します。。 P>
しかし、あなたは、画面のすべて480PXにまたがるウィンドウに追加していることから、私の推測では、あなたのビューがちょうど20ピクセル短すぎるということです。ビューの高さを変化させること、またはそのYオフセットを設定してみてください。
他のヒント
あなたは常に
UIScreenから解像度を取得することにより、表示サイズを設定しshoudUIView *controllersView = [myViewController view]; // get the view
[controllersView setFrame:[[UIScreen mainScreen]applicationFrame]]; // set the Framesize
これは自動的に、X = 0、Y = 20に原点を設定します。画面の解像度を変更することができますので、それは新しいiPhone 4になりますように手動でY = 20に起源を設定する代わりに、このメソッドを使用する必要があることを、覚えておいてください。
面白いことは、iPhoneのためにも、AppleのHelloWorldの例が正しくビューフレームを設定せずに20個のピクセルのバグを持っていること、です。
ケースの誰かが知っている必要がありますで、起源を相殺するためのコードは次のようになります:
CGRect frame = myController.view.frame;
frame.origin.y = 20.0;
myController.view.frame = frame;
あなたはビューをクリックすることができ、インタフェースビルダを使用している場合は、インスペクタ属性とnoneにステータスバーを変更して行きます。あなたは、単に480にサイズインスペクタのビューの高さを調整する必要があります。