2015-11-17 164 views
2

我在我的应用程序中有自定义导航和主页视图。点击按钮时,我想在导航顶部显示一个View,就像左侧视图(宽度不等于屏幕宽度)一样。我试过这个:显示导航栏顶部的视图

LeftView.Layer.ZPosition = 1;

它不工作。如果我将导航的Z索引设置为-1,则会隐藏完整的导航栏。

enter image description here

+0

请加上正在发生的事情的一个截图.. – Nishant

+0

我已经加入了截图为上述 –

+0

TheAppMentor的答案就在这里最好的办法。 – Nishant

回答

2

试试这个:

[self.navigationController.view addSubview:yourSubView]; 
+0

其工作..谢谢:) –

2

尝试在视图添加到一个UIWindow。这会将您的视图添加到导航栏上方。

[[[[UIApplication sharedApplication] delegate] window] addSubview:yourView]; 
0

手动添加自定义导航栏到主视图,而不是使用导航控制器的标准导航栏。然后在您的main view中添加您的leftview作为subview。它将在此层次结构中与导航栏重叠。

0

这是一个正确的答案:

[self.navigationController.view addSubview:yourSubView]; 

虽然它不会设置正确的框架来看,要为导航栏上的视图设置正确的框架,你必须将其设置在viewDidAppear 。下面

-(void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    [self.navigationController.view addSubview:mTitleView]; 
}