UINavigationBar自定义背景隐藏了新推视图控制器上的标题

时间:2011-07-20 19:24:32

标签: ios uinavigationbar customization title

我有一个带有自定义导航栏的导航控制器,其图像背景我设置如下:

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];

在homeViewController viewDidLoad中,我设置了如下标题:

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

它显示完美。但是当我按下一个新的控制器并以相同的方式在其中设置标题时,它不会再出现了:

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

我不明白这个问题的原因,因为根视图控制器的标题显示正常使用完全相同的技术,我找不到任何具有相同问题的人。 内部词汇表viewDidLoad:

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

我认为标题实际上是“那里”但隐藏在自定义视图下但我看不出这是怎么可能的,因为我在底部插入了自定义视图(索引:0)。除非推送新的视图控制器影响这个?在这种情况下,我会很感激任何输入,解释究竟发生了什么,以及我如何处理它。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我之前遇到过这种情况,我发现最简单的答案是使用自定义图像作为标题。这对你来说可能不实用,因为你可能不知道标题,或者你可能有很多可能的标题,为每个标题制作一个图像是不实际的。