Итак, я исследовал, как получить изображение в UINavigationBar, и самый безопасный способ сделать это, работающий для iOS 4 и iOS 5, - это создать подкласс UBavigationBar, поэтому у меня было:
@interface CustomNavigationBar : UINavigationBar
@end
@implementation CustomNavigationBar
-(void) drawRect:(CGRect)rect
{
UIImage *image = [UIImage imageNamed: @"myNavBarImage"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
Теперь скажите, что я хотел подключить ProfileViewController, чтобы иметь эту пользовательскую панель UINavigationBar, как мне это сделать?Вот как я устанавливаю ProfileViewController.
ProfileViewController *profile = [[ProfileViewController alloc] init];
localNavigationController = [[UINavigationController alloc] initWithRootViewController:profile];
[localControllersArray addObject:localNavigationController];
[localNavigationController release];
[profile release];
Есть идеи, как подключить это?Я читал, что это нужно сделать через IB, изменив класс моего UINavigationBar на класс, который я только что создал.Однако в моем xib-файле нет UINavigationBar, так как он создается программно через UINavigationController.
Еще одна проблема заключается в том, что если я хочу иметь динамическое изображение, которое я могу изменить / указать дляUINavigationBar, как мне это сделать?На данный момент жестко установлено, что на UINavigationbar будет изображение myNavBarImage, но что если я захочу установить его на что-то другое, чтобы мне не нужно было создавать 10 пользовательских UINavigationBar, я каким-то образом хотел установить имя изображения.