设置UINavigationBar背景图片

时间:2013-01-07 21:39:06

标签: ios storyboard uinavigationbar appearance tint

我有这段代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if([[UINavigationBar class] respondsToSelector:@selector(appearance)]
    {
        [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bar-mid.png"] forBarMetrics:UIBarMetricsDefault];
    }
    //[[UINavigationBar appearance] setTintColor:[UIColor redColor]];
    return YES;
}

它的工作原理如果我尝试将TintColor设置为红色(在注释的代码行中),但如果我尝试设置背景图像则不起作用! 是的,我在“支持文件>图像”中有“bar-mid.png”图像。 我用故事板。 这是结果:

enter image description here

你能帮帮我吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

我无法理解为什么,但我更改了“greenNavigation.png”和“greenNavigation@2x.png”中的两个图片的名称,我在[UIImage imageNamed:@"bar-mid.png"更改了[UIImage imageNamed:@"greenNavigation.png"]]有用。 有人知道为什么吗?

答案 1 :(得分:0)

有时它也发生在我身上。 我使用“从硬盘中删除”选项从xcode中删除图像。 再次从photoshop保存为web。 使用“将图像复制到解决方案文件夹”选项复制到xcode。 瞧,瞧。有用。 我知道,没有太多的解释,但它有时有效。 也许它不喜欢图像编码或其他东西。