2011-11-13 48 views
0

我想添加导航栏上方的图像。下面是最终效果图我想: click meIOS:如何在导航栏上方添加一个图像

在开始的时候,我觉得这是很简单的:

  1. 使用UIBuilder添加一个UIImage的和一个UIView的
  2. 导航栏控制器添加到UIView的作为其根视图

的层次我认为应该是这样的:UIViewController-> UIView-> NavigationBarController(这里的UIView是UIViewController中的图的一个子视图)

下面是我试过的代码之一,子视图是一个UIView的由UIBuilder

UINavigationController *test; 
    test=[[UINavigationController alloc]init]; 

    [[subView window] setRootViewController:test]; 
    [subView.window makeKeyAndVisible]; 

builed IBOutlet中的尝试,但几次之后,我发现它不工作。

以前有人做过同样的工作吗?如果是这样,请给我一些建议。

回答

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上经历过这么多次。您可能必须开始聆听旋转事件,并将导航控制器视图的框架在每次旋转时重置为不遮挡图像的框架。

1
self.navigationController.navigationBar.frame = CGRectMake(0, //height of imageView//, self.view.bounds.size.width, 44.0f);