我想在导航栏上方添加图片。这是我想要的最终结果图片: click me
一开始,我认为这很简单:
我认为Hierarchy应该是这样的:UIViewController-> UIView-> NavigationBarController。(这里UIView是UIViewController视图的一个子视图)
下面是我尝试过的代码之一,subView是由UIBuilder提供的一个UIView的IBOutlet
UINavigationController *test;
test=[[UINavigationController alloc]init];
[[subView window] setRootViewController:test];
[subView.window makeKeyAndVisible];
但经过多次尝试后,我发现它无效。
以前有人做过同样的工作吗?如果是的话,请给我一些建议。
答案 0 :(得分:1)
self.navigationController.navigationBar.frame = CGRectMake(0, //height of imageView//, self.view.bounds.size.width, 44.0f);
答案 1 :(得分:0)
CodaFi的建议几乎就在那里。
试试这个:
test.view.frame = CGRectMake(0, //height of imageView//, self.window.bounds.size.width, //(total height of content... e.g. 460.0f if you leave the status bar visible)-(height of imageView)//);
有一点需要注意......导航控制器喜欢占用屏幕上的所有可用空间,所以有时它会自动将其视图调整为这样的矩形,{{0.0f,0.0f},{旋转设备后,320.0f,460.0f}}。我在iPad上经历了这么多次。您可能必须开始侦听旋转事件,并在每次旋转时将导航控制器视图的帧重置为不会阻挡图像的帧。