UINavigationBar自定义标题被背景隐藏

时间:2011-09-08 01:32:09

标签: cocoa-touch uinavigationbar

我正在使用以下代码向我的UIImageView添加自定义UINavigationBar

UIImageView *background = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)] autorelease];
[background setImage:[UIImage imageNamed:@"nav_background.png"]];
[background setTag:kTagForReference];
[self.navigationController.navigationBar insertSubview:background atIndex:0];

然后我使用以下代码添加自定义标题:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 400, 44)];
... 
[self.navigationItem setTitleView:label];
[label release];

但在我的一些推送视图中,标题被隐藏(或不可见)。如果没有标题消失,我似乎无法将两个以上的视图压入堆栈。

我试图将UIImageView背景强制到栏后面,但这仍然无济于事。我已经打印了UINavigationBar的子视图,我可以看到UILabel在那里,我只是看不到它!

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

如果您可以运行dumpWindows() function,则输出将显示视图层次结构,以便您可以查看覆盖它的视图。

答案 1 :(得分:0)

您最有可能想要使用UIToolBar而不是NavigationBar。然后,您可以将子视图添加到UIToolbar

将UILabel带到最前面的视图。

[self.view bringSubviewToFront: label];