Я пытаюсь изменить фоновое изображение UINavigationBar моего приложения. Я попробовал несколько способов. Сначала я добавил в свой класс AppDelegate следующий код:
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"navigationbar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
Но он не работал. Моя следующая попытка состояла в том, чтобы написать класс CustomizedNavigationBar, который переопределяет метод drawRect. Это выглядело так:
CustomizedNavigationBar.h
#import <UIKit/UIKit.h>
@interface CustomizedNavigationBar : UINavigationBar
@end
CustomizedNavigationBar.m
#import "CustomizedNavigationBar.h"
@implementation CustomizedNavigationBar
- (void) drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"navigationbar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
NSLog(@"I got called!!!!!");
}
@end
В моем .xib файле, где определен параметр NavigationBar, я изменил класс на новый CustomizedNavigationBar. Но все же он не работает.
В качестве другого теста я загрузил примерный проект, в котором необходимо изменить фоновое изображение. Но даже с этим образцом кода он не работал.
Что я делаю неправильно? Я использую IOS 5. Любые предложения или другие способы, которыми я мог бы определить фоновое изображение?
Спасибо за ваши ответы!