Для панели навигации вы можете использовать:
[navigationController.navigationBar setTintColor:[UIColor redColor]; //Red as an example.
Это будет окрашивать цвет панели навигации и всех ее кнопок в определенный цвет, в данном случае красный.Это свойство также может быть установлено в Интерфейсном Разработчике.
И если вы хотите настроить его дальше, вы можете установить фон UINavigationBar
для изображения путем его подклассификации.Вот так…
Заголовочный файл.
#import <UIKit/UIKit.h>
@interface UINavigationBar (CustomImage)
@end
Реализация файла.
#import "CustomNavigationBar.h"
@implementation UINavigationBar (CustomImage)
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
if([self isMemberOfClass: [UINavigationBar class]]){
UIImage *image = [UIImage imageNamed:@"bar.png"];
CGContextClip(ctx);
CGContextTranslateCTM(ctx, 0, image.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextDrawImage(ctx, CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), image.CGImage);
}else{
[super drawLayer:layer inContext:ctx];
}
}
@end
Затем в Интерфейсном Разработчике установитекласс от UINavigationBar
до (в данном случае) CustomNavigationBar
на вкладке «Идентичность».
Если вы слегка измените код, чтобы он стал подклассом UITabBar
, он может работать с UITabBar
, хотя я не пробовал.