UINavigationBar 设置图像未完全绘制
Posted
技术标签:
【中文标题】UINavigationBar 设置图像未完全绘制【英文标题】:UINavigationBar set image not completely drawn 【发布时间】:2016-08-29 16:41:53 【问题描述】:我正在尝试将图像设置为导航栏的 ViewController, 在将其设置为未完全绘制到 NavigationBar 之后。 无法理解为什么会这样。
图片尺寸为90高宽750
可以告诉我我需要做什么吗?
[self.navigationController setToolbarHidden:YES animated:NO];
self.title = NSLocalizedString(@"Dashboar", @"Dashboard");
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.titleTextAttributes = @NSForegroundColorAttributeName : [UIColor whiteColor];
UIImage *currentImage = [[UIImage imageNamed:@"bg.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch];
[self.navigationController.navigationBar setBackgroundImage:currentImage forBarMetrics:UIBarMetricsDefault];
【问题讨论】:
如果改变导航栏的半透明属性会改变什么吗? @TejaNandamuri 谢谢,它启用我让它禁用它的工作。 【参考方案1】:[self.navigationController setToolbarHidden:YES animated:NO];
self.title = NSLocalizedString(@"Dashboar", @"Dashboard");
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.titleTextAttributes = @NSForegroundColorAttributeName : [UIColor whiteColor];
您必须为多个设备设置此背景图像的确切宽度。
if (IS_IPHONE4)
[navController.navigationBar setBackgroundImage:[UIImage imageNamed:@"TopBar_iphone4.png"] forBarMetrics:UIBarMetricsDefault];
if (IS_IPHONE5)
[navController.navigationBar setBackgroundImage:[UIImage imageNamed:@"TopBar_iphone5.png"] forBarMetrics:UIBarMetricsDefault];
if (IS_IPHONE6)
[navController.navigationBar setBackgroundImage:[UIImage imageNamed:@"TopBar_iphone6.png"] forBarMetrics:UIBarMetricsDefault];
if (IS_IPHONE6Plus)
[navController.navigationBar setBackgroundImage:[UIImage imageNamed:@"TopBar_iphone6plus.png"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:NavigationPortraitBackground forBarMetrics:UIBarMetricsDefault];
我必须检查此代码是否适合我。
【讨论】:
【参考方案2】:貌似是半透明问题,从ios 7+开始,默认半透明属性为YES
。通过
self.navigationBar.translucent = NO;
【讨论】:
以上是关于UINavigationBar 设置图像未完全绘制的主要内容,如果未能解决你的问题,请参考以下文章
iOS7如何绘制透明的UIToolbar或UINavigationBar