典型的NavController行为是在横/竖屏模式下进行调整大小。我想从44px高度缩小到32px(据我所知)。
我正在使用storyboard,并在VC中包含了一个导航栏,而不是控制器。在横向和纵向之间旋转时,导航栏不会自动调整大小。
我看过这个答案,但没有帮助:Resizing UINavigationBar on rotation 导航栏是通过在应用程序委托中加载的外观来控制的:
我正在使用storyboard,并在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上重复相同的粘合代码以在旋转时调整大小。