1. ホーム
  2. ios

[解決済み] iOS 7でUINavigationBarがビューの上部を覆うのを防ぐには?

2022-12-21 22:36:22

質問

Xcode 5 にアップデートした後、私のアプリのすべてのビューのナビゲーション バーが下に移動してしまいました。以下はスクリーンショットで、1 枚目は下に引っ張られたビュー内のすべてを示し、2 枚目はすべてのビューがそのままの状態を示しています。検索バーはナビゲーション バーの位置から始まるはずです。

誰かこれを修正する方法を知っていますか?

編集:私はこの以前の勧告を試してみました。

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
        self.edgesForExtendedLayout = UIRectEdgeNone;

しかし、それは非常に奇妙な結果をもたらします。

これは、このビューコントローラの下に "スライドメニュー" があり、ナビゲーションバーが透明なために表示されているためと思われます。

どのように解決すればよいですか?

を設定します。 ナビゲーションバーの半透明プロパティをNOにする。 :

self.navigationController.navigationBar.translucent = NO;

これにより、ナビゲーションバーとステータスバーの下に枠で囲まれたビューが修正されます。

ナビゲーションバーの表示・非表示が必要な場合は

 if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;   // iOS 7 specific

の中に viewDidLoad メソッドに追加します。