iPhoneでプログラムのウィンドウにビューを追加しているときに、画面の下部に白いバンドを参照してください?

StackOverflow https://stackoverflow.com/questions/1458061

質問

私はXcodeでのビューベースのプロジェクトを開発する場合、

、私の見解では正常に動作します。私は、ウィンドウベースのプロジェクトを使用して、自分でビューを作成し、ウィンドウにサブビューとして追加しようとすると、しかし、それは私の底に白いバンドを与えます。私は前にそれを最初に直面し、この問題に直面したことはありません。

役に立ちましたか?

解決

ほとんどの場合何が起こっていることは、あなたがビューを追加していることをそのサイズは、ステータスバーを含み、ウィンドウにステータスバーを使用するための適切な大きされます。

iPhoneの画面が高い480PXであり、上部の20ピクセルは、デバイスのステータスバー(信号強度/無線LANインジケータ、クロックを有するものなど)に割り当てられます。通常、ビューは、ウィンドウの残りの640x460ピクセルのための大きさになると、あなたはビューベースのアプリケーションを開発している場合、それは大丈夫です - そのアプリケーションテンプレートは、すでに他のすべてのサブビューがに追加されますことを320x460ルートビューを提供します。

しかし、あなたは、画面のすべて480PXにまたがるウィンドウに追加していることから、私の推測では、あなたのビューがちょうど20ピクセル短すぎるということです。ビューの高さを変化させること、またはそのYオフセットを設定してみてください。

他のヒント

あなたは常に

UIScreenから解像度を取得することにより、表示サイズを設定しshoud
UIView *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にサイズインスペクタのビューの高さを調整する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top