Я мог бы решить мою проблему следующим образом.Тем не менее, я не уверен, что это самое чистое решение, поэтому, пожалуйста, дайте мне знать, если есть более стандартный или чистый способ сделать это:
Так как мне нужно поддерживать iOS> 4.0, мне нужны следующие дваподходит.
Для iOS <5.0 (с использованием категории) </p>
@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {
if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 5.0) {
UIColor *color = kColorSCSNavigationBarBackgroundBlue;
UIImage *img = [UIImage imageNamed: @"TitleBar.png"];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
self.tintColor = color;
}
}
@end
Для iOS> = 5.0 (applicationDidFinishLaunching
метод в AppDelegate)
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 5.0) {
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"TitleBar.png"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTintColor:kColorSCSNavigationBarBackgroundBlue];
}