典型的なNavControllerの動作は、port/landscapeでリサイズすることです。 44pxの高さから32pxまで(私の頭の上から)私は信じています。UINavigationBarをリピート時の回転で自動的にリサイズする
私はストーリーボードを使用しており、コントローラではなくVCにナビゲーションバーを含めています。縦と横の間を回転すると、ナビゲーションバーのサイズが自動的に変更されません。
が、私はこの答えを見てきましたが、これは助けない:Resizing UINavigationBar on rotation
ザ・ナビゲーションバーは、アプリケーションの委任にロードされた外観を介してコントローラです:
UIImage *portraitImage = [UIImage imageNamed:@"mainNavBar"];
UIImage *landscapeImage = [UIImage imageNamed:@"mainNavBarLandscape"];
[[UINavigationBar appearance] setBackgroundImage:portraitImage forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:landscapeImage forBarMetrics:UIBarMetricsLandscapePhone];
[[UINavigationBar appearance] setBackgroundColor:[UIColor blackColor]];
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], UITextAttributeTextColor,
[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5],UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)],
UITextAttributeTextShadowOffset,nil]];
[[UINavigationBar appearance] setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin];
は残念ながら最後の部分は違いはありませんし、ナビゲーションバーが複数のコントローラに含まれているので、すべてのVCに対する上記の質問に同じグルーコードを繰り返して、回転でサイズを変更する必要はありません。
正解ですが、投稿した直後に気付きました。ありがとう – StuartM