我想更改导航栏的背景图片(或颜色),但由于某种原因它无效。
我一直在搜索,发现在iOS 5.0+(我正在运行6.1)上这应该可行:
[self.navigationController.navigationBar setBackgroundImage:navigationBackgroundImage forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setBackgroundColor:[UIColor redColor]];
现在这些都不起作用。还试过:
self.navigationController.navigationBar.backgroundColor = [UIColor redColor];
现在我想我正在将它分配给错误的对象,但这有效:
UIImageView *titleImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"scr1_title"]];
self.navigationItem.titleView = titleImage;
答案 0 :(得分:4)
在视图控制器中使用此代码更改导航栏背景图像。
if([[UINavigationBar class] respondsToSelector:@selector(appearance)]) //iOS >=5.0
{
UIImage * navBarImage = [UIImage imageNamed:@"image.png"] ;
[[UINavigationBar appearance]setBackgroundImage: navBarImage forBarMetrics:UIBarMetricsDefault];
}
答案 1 :(得分:0)
您可以在导航控制器的导航栏上设置色调颜色。确保选择正确的打开,如下面的屏幕截图所示。
答案 2 :(得分:0)
设置图片.. 写下这段代码
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationBar"] forBarMetrics:UIBarMetricsDefault];
内
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
}