我正在尝试自定义导航变量的外观,该变量通过我的应用出现了两次(仅供参考:我正在使用情节提要)。由于某些原因,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];