2

Xcode でビュー ベースのプロジェクトを開発したとき、私のビューは正常に動作します。しかし、ウィンドウ ベースのプロジェクトを使用して自分でビューを作成し、それをサブビューとしてウィンドウに追加しようとすると、下部に白い帯が表示されます。私はこれまでこの問題に直面したことはありませんでしたが、初めて直面しました。

4

4 に答える 4

4

UIScreenから解像度を取得して、常にビューサイズを設定する必要があります

UIView *controllersView = [myViewController view]; // get the view
[controllersView setFrame:[[UIScreen mainScreen]applicationFrame]]; // set the Framesize

これにより、原点が自動的にx=0およびy=20に設定されます。新しいiPhone4の場合と同じように画面の解像度が変わる可能性があるため、原点を手動でy = 20に設定するのではなく、この方法を使用する必要があることに注意してください。

面白いことに、AppleのiPhone用HelloWorldの例でさえ、ビューフレームを正しく設定せずに20ピクセルのバグがあります。

于 2010-06-18T01:01:35.873 に答える
2

誰かが知る必要がある場合に備えて、原点をオフセットするコードは次のようになります。

CGRect frame = myController.view.frame;
frame.origin.y = 20.0;
myController.view.frame = frame;
于 2009-12-06T00:42:48.673 に答える
1

最も可能性が高いのは、ステータス バーを使用するのに適切なサイズのビューをウィンドウに追加していて、そのサイズにステータス バーが含まれていることです。

iPhone の画面の高さは 480 ピクセルで、そのうちの上位 20 ピクセルがデバイスのステータス バー (信号強度/WiFi インジケーター、時計などがあるバー) に割り当てられます。通常、ビューはウィンドウの残りの 460px に合わせてサイズ設定されます。ビューベースのアプリを開発している場合は、それで問題ありません。そのアプリケーション テンプレートは、他のすべてのサブビューが追加される 320x460 のルート ビューを既に提供しています。

しかし、画面の 480 ピクセルすべてにまたがるウィンドウに追加しているので、私の推測では、ビューは 20 ピクセルでは短すぎます。ビューの高さを変更するか、y オフセットを設定してみてください。

于 2009-09-22T04:25:34.410 に答える
0

インターフェイスビルダーを使用している場合は、ビューをクリックして属性インスペクターに移動し、ステータスバーをなしに変更します。次に、サイズ インスペクタでビューの高さを 480 に調整するだけです。

于 2011-06-10T18:37:42.803 に答える