0

我正在尝试自定义导航 var 的外观,它通过我的应用程序出现了几次(仅供参考:我正在使用情节提要)。出于某种原因,Th 应用程序不起作用(它卡在了一行中:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

在 main.m 文件中,说“线程 1:信号 SIGABRT”。

我写的代码是这样的:

UIImage * TabBarBG = [UIImage imageNamed:@"TabBarBG.png"];
[[UITabBar appearance] setBackgroundImage:TabBarBG];
[[UINavigationBar appearance] setBackgroundImage:TabBarBG];

顺便说一下,选项卡栏的自定义效果很好,我已经尝试过为 NavBar 使用不同的图片,但为了简单起见,它不在这里!

上面的代码是在appDelegate类的一个名为“customizeInterface”的方法中找到的,它是从同一个类(appDelegate)的didFinishLaunchingWithOptions方法中调用的。

关于为什么会发生这种情况以及我该怎么做才能让它发挥作用的任何想法?

任何意见表示赞赏!

4

2 回答 2

1

UINavigationBar 的外观 API 不支持名为setBackgroundImage:. 但是它确实支持名为setBackgroundImage:forBarMetrics:. 所以试试:

[[UINavigationBar appearance] setBackgroundImage:TabBarBG forBarMetrics:UIBarMetricsDefault];
于 2012-07-05T16:04:29.320 回答
0

此外,您可以通过以下方式更改导航栏标题和阴影颜色(如果它与您的新背景图像冲突):

https://stackoverflow.com/a/11005059/215845

于 2012-07-05T17:08:52.083 回答