Я пытался изменить фоновое изображение 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. Какие-либо предложения или другие способы определения фонового изображения?
Спасибо за ваши ответы!