//添加QuartzCore frameowrk在.h文件中
#import <QuartzCore/QuartzCore.h>
//如果要为每个视图设置不同的图像,请在viewWillAppear
方法中写入此代码方法 // NavigationBar
背景图像。
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)])
{
//For iOS >= 5
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"topbar.png"] forBarMetrics:UIBarMetricsDefault];
}
else {
//For iOS < 5
NSString *barBgPath = [[NSBundle mainBundle] pathForResource:@"topbar" ofType:@"png"];
[self.navigationController.navigationBar.layer setContents:(id)[UIImage imageWithContentsOfFile: barBgPath].CGImage];
}
是。在调用方法之前,您最好检查当前的iOS版本。 ---另外声明您的应用程序仅适用于iOS 5+。这可以防止它安装在较旧的操作系统上。但是,快速检查iOS版本并不困难。 –
尤为明显但只是检查方法是可用的'respondsToSelector'方法。 – rckoenes