更改navigationBar背景:
if([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage: forBarMetrics:)]){
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"top bar.png"] forBarMetrics:UIBarMetricsDefault];
//下面的也可以不过注意forBarPosition参数的设置
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"top bar.png"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
上面的代码直接在nav的根视图的viewdidload中更改即可,而且,一次更改其他视图也会更改,这取决于navgationbar的特性。,不过注意,这行代码不能在appdelegate中设置,会被忽略。
更改tabbar背景:
tabBarController.tabBar.backgroundImage = [UIImage imageNamed:@"Background.png"];
注意,UIImage是无法设置frame的,因此,tabbar的背景就会是图片的大小,因此,要求图片的大小刚好。而且,图片命名方式为xxx@2x.png类型。