我正在尝试自定义导航变量的外观,该变量通过我的应用出现了两次(仅供参考:我正在使用情节提要)。由于某些原因,Th app无法正常工作(它陷入了困境:

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方法中调用。

关于为什么会发生这种情况的任何想法,我应该怎么做才能使其起作用?

任何意见表示赞赏!

最佳答案

UINavigationBar的外观API不支持名为setBackgroundImage:的方法。但是,它支持名为setBackgroundImage:forBarMetrics:的方法。因此,请尝试:

[[UINavigationBar appearance] setBackgroundImage:TabBarBG forBarMetrics:UIBarMetricsDefault];

07-27 21:36