Пользовательский фон UINavigationBar скрывает заголовок на вновь нажатом контроллере вида - PullRequest
0 голосов
/ 20 июля 2011

У меня есть контроллер навигации с пользовательским navBar с фоном изображения, который я настраиваю следующим образом:

homeViewController = [[HomeViewController alloc] init];
mainController     = [[MainController alloc] initWithRootViewController:homeViewController];

// ### CUSTOM GRADIANT BLUE TOOLBAR
UIImageView *customTabView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 1024.0, 44.0)];
[customTabView setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"navbar" ofType:@"png"]]];
customTabView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[mainController.navigationBar insertSubview:customTabView atIndex:0];

[customTabView release];

В viewDidLoad homeViewController я установил заголовок так:

self.title = NSLocalizedString(@"app.title", nil);

и отображается отлично.НО, когда я нажимаю на новый контроллер и устанавливаю заголовок внутри него таким же образом, он больше не появляется:

Glossary *glossaryController = [[Glossary alloc] init];
[self.navigationController pushViewController: glossaryController animated:YES];

Я не понимаю причину этой проблемы, так как заголовок хорошо отображается дляroot view controller использует точно такую ​​же технику, и я не могу найти никого с такой же проблемой.Внутренний глоссарий0).Разве нажатие нового контроллера представления влияет на это?В этом случае я был бы признателен за любую информацию, объясняющую, что именно происходит и как я могу с этим справиться.

Заранее спасибо!

1 Ответ

0 голосов
/ 26 июля 2011

Я сталкивался с этим раньше и нашел, что самый простой ответ - использовать пользовательское изображение для заголовка.Это может быть непрактично для вас, потому что вы можете не знать заголовок или у вас может быть так много возможных заголовков, что создание изображения для каждого из них нецелесообразно.

...