我正在尝试将图像设置为导航栏的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];
答案 0 :(得分: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];
我必须为我检查这段代码。
答案 1 :(得分:0)
它看起来像一个半透明的问题,来自iOS 7+默认情况下,半透明属性为YES
。
self.navigationBar.translucent = NO;