2

私は困惑している。ステータス バーがなく、スクロール ビューの寸法を作成する方法がわかりません。320 x 480 ですか、それとも 320 x 460 ですか? ストーリーボードにドラッグして画面全体を埋めると、320 x 460と表示されますが、サブビューを追加すると、ビューが20ピクセル短いかのように奇妙な位置に表示されるためです。

編集: ステータス バーが消えてもビュー サイズが再調整されず、ビューが 20 ピクセル短くなるだけなので、少し混乱しています。これはあまり意味がありません。20 ピクセルを切り捨てるのではなく、20 ピクセル長くするべきではありませんか?

4

3 に答える 3

7

iPhoneの画面は間違いなく320x480です。

ストーリーボードで問題が発生している理由は、ステータスバーがないことを伝える場所が複数あるためです。それらすべて(3?)を追跡し、ステータスバーが表示されていないことを確認する必要があります。

最も一般的な問題は、ネストされたviewControllerで排他的にオフに設定しているときに、以前のviewControllerの1つでステータスバーがオンまたは推測されていることです。これにより、ステータスバーは表示されませんが、460ピクセルの高さで表示されます。画像でわかるように、明らかに20ピクセル短くなっています。それは、セグエが、ステータスバー自体がない場合でも、ステータスバーの「下」に表示するように提示されたときにそれを伝えているためです。セグエをモーダルからプッシュに変更すると、問題は解決します。または、最初のviewControllerにstatusBarがないように設定すると、問題は解決します。また、場合によっては、Xcodeがグラフィカルストーリーボードを適切に更新するために再起動が必要になる可能性があることにも注意してください。

ここに画像の説明を入力してください

もう一つ

また、コードまたはストーリーボードでステータスバーを非表示に設定することは、.infoファイルでに設定することと同じではありませUIStatusBarHiddenYES。それ以外の場所で非表示にしているときにnoのままにすると、default.pngがクリップされ、読み込み中にステータスバーが表示され、アプリの起動が完了すると消えます。したがって、一貫したユーザーエクスペリエンスを実現するために、必ずそこにも非表示にしてください。

コード

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    [application setStatusBarHidden:YES];
}
于 2012-08-02T19:52:53.450 に答える
3

320 x 480 です。表示されている 20 ピクセルはステータス バーです。ステータス バーを非表示にする予定があり、Interface Builder でサイズを一致させたい場合は、IB に移動してシミュレートされたメトリック -> ステータス バーを選択します。なし。

これはビュー コントローラーのビューの実際のサイズには影響しませんが、ビューを 320 x 480 に設定した場合でもサイズに合わせてサイズが変更されるため、ビュー コントローラーは 320 x 460 にサイズ変更されます。はステータス バーで、ナビゲーション バーもある場合は 320 x 418 です。

于 2012-08-02T20:01:10.383 に答える
1

私はiPhoneプログラミングから少し外れていますが、この20pxは、キャリアや強度などを確認できる上部の境界線である必要があります。

于 2012-08-02T19:53:20.130 に答える