1

ポップオーバー内にナビゲーション コントローラーを含めました。ビューには、部分的にカバーしたい画像が含まれています。iOS6 ではナビゲーション バーの後ろにあり、ios7 では正反対です。スクリーンショットを添付します。誰かが理由を知っていますか?ここに画像の説明を入力

4

3 に答える 3

1

自動レイアウト制約を使用します: http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1

またはこれを試してください(エレガントな解決策はありません):

NSString *ver = [[UIDevice currentDevice] systemVersion];
float ver_float = [ver floatValue];

if (ver_float >= 7.0f)
{
   CGRect frame = self.myView.frame;
   frame.origin.y = self.navigationBar.frame.size.height;
   [self.myView setFrame:frame]
}
于 2013-10-31T09:35:21.847 に答える
0

iOS 7 では、レイアウトは既定でコンテナーの端まで拡張されます。これは、edgesForExtendedLayoutView Controller プロパティによるコントローラーです。上部をナビゲーション バーに合わせてレイアウトを開始する場合は、 を設定して無効にする必要がありますself.edgesForExtendedLayout

例えば:

- (id)init
{
    if ((self = [super init])) {

        // layout with top of view starting at bottom of navigation bar
        self.edgesForExtendedLayout = UIRectEdgeNone;

        // continue with init

    }
 }
于 2013-12-13T01:41:09.300 に答える