2

したがって、モーダルに提示するこのカスタム UIViewController サブクラスがあります-presentViewController:animated:(ナビゲーション スタックにプッシュするのではありません)。iOS 6 と iOS 7 の両方でうまく動作するようにしています。

上記の VC は .xib ファイルに組み込まれています (ストーリーボードは含まれません)。そこにはカスタム ナビゲーション バーがあり、その他の UI 要素もいくつかあります。iOS 7 で実行すると、次のようになります。

ここに画像の説明を入力

正しいように見えます。私のカスタムナグバーはステータスバーに正しく隣接しています。

ただし、iOS 6 で同じことを実行すると、次のようになります。

ここに画像の説明を入力

ステータス バーとカスタム ナビゲーション バーの間の黒いギャップ (ビューの背景) に注目してください。:(

.xib ファイルでは、ビューのコンテンツをビューの上部から 20 ピクセル下にシフトしています。そして、 deltaYのビューの「iOS 6/7 Deltas」が「-20」に設定されています。明らかに機能していません。

ここで何が欠けていますか?!

4

1 に答える 1

0

ビューの「iOS 6/7 Deltas」の効果は、' Interface Builder Document ' インスペクタで指定された ' View as ` 設定に依存します (' View ' -> ' Utilities ' -> ' Show Utilities ' を選択し、次に をクリックしますユーティリティ ペインの一番左のアイコンをクリックし、該当する ' Interface Builder Document ' セクションの ' View as ' PopUpList を参照してください)。

「iOS 6/7 Deltas」を調整して、現在表示されていないiOS バージョンに合わせます (たとえば、「 View as」を「iOS7 以降」に設定している場合は、「 iOS 6.1 以前」のデルタを調整します)。

したがって、' View as ' を ' iOS 7.0 and Later ' に設定した場合にのみ、deltaY 設定の"-20"が正しくなります。設定が正しければ、' View as ' PopUpList で遊ぶことができ、VC はすぐに常に正しく表示されます。

お役に立てれば。

于 2013-10-01T13:18:13.923 に答える