0

我想更改导航栏的背景图像(或颜色),但由于某种原因它不起作用。

我四处搜索,发现在 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;
4

3 回答 3

4

在您的视图控制器中使用此代码来更改导航栏背景图像。

 if([[UINavigationBar class] respondsToSelector:@selector(appearance)]) //iOS >=5.0
    {
        UIImage * navBarImage = [UIImage imageNamed:@"image.png"] ;
        [[UINavigationBar appearance]setBackgroundImage: navBarImage  forBarMetrics:UIBarMetricsDefault];
}
于 2013-07-09T11:45:22.360 回答
0

要设置图像.. 编写此代码

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationBar"] forBarMetrics:UIBarMetricsDefault];

里面

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
}
于 2014-06-25T09:29:23.813 回答
0

您可以在导航控制器的导航栏上设置色调颜色。确保选择正确的,如下面的屏幕截图所示。 截屏

  1. 在文件浏览器中选择您的故事板。
  2. 在情节提要中选择导航控制器。
  3. 在 Document Outline(第二列)中,选择导航控制器的导航栏。
  4. 在实用程序视图(右侧的列)中调整色调颜色。
  5. 单击导航控制器右侧的根视图控制器。单击它后,它将获得新的颜色。
于 2013-07-09T14:12:17.847 回答