我正在使用以下代码向我的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在那里,我只是看不到它!
非常感谢任何帮助。
答案 0 :(得分:0)
如果您可以运行dumpWindows() function,则输出将显示视图层次结构,以便您可以查看覆盖它的视图。
答案 1 :(得分:0)
您最有可能想要使用UIToolBar
而不是NavigationBar
。然后,您可以将子视图添加到UIToolbar
。
将UILabel带到最前面的视图。
[self.view bringSubviewToFront: label];