【问题标题】:Changing navigation bar image - not working更改导航栏图像 - 不起作用
【发布时间】:2013-07-09 11:23:01
【问题描述】:

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

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

【问题讨论】:

  • 一个小问题,你是UINavigationController的用户吗?

标签: ios image background uinavigationbar


【解决方案1】:

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

 if([[UINavigationBar class] respondsToSelector:@selector(appearance)]) //iOS >=5.0
    {
        UIImage * navBarImage = [UIImage imageNamed:@"image.png"] ;
        [[UINavigationBar appearance]setBackgroundImage: navBarImage  forBarMetrics:UIBarMetricsDefault];
}

【讨论】:

    【解决方案2】:

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

    1. 在文件浏览器中选择您的故事板。
    2. 在情节提要中选择导航控制器。
    3. 在文档大纲(第二列)中,选择导航控制器的导航栏。
    4. 在“实用工具”视图(右侧的列)中调整色调。
    5. 单击导航控制器右侧的根视图控制器。点击它后它会选择新的颜色。

    【讨论】:

      【解决方案3】:

      设置图像.. 写这段代码

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

      里面

      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
      {
      }
      

      【讨论】:

        猜你喜欢
        • 2019-04-14
        • 1970-01-01
        • 1970-01-01
        • 2016-03-23
        • 2019-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多