我有关于viewcontroller堆叠的设置问题。 我有一个带有tabbar控制器的应用程序。每个标签页都需要一个导航栏,由每个标签中的导航控制器和内容提供。没问题。 但是,我需要在选项卡上方的选项卡上方显示一个viewcontroller。 我不能在tabbarcontroller(不是navcon)上使用presentviewcontroler而且我无法使用tabcon内的navcons,因为标签会位于顶部。
所以我把一个navcon作为主容器,我将tabbarcon放在其中。 现在提供的viewcon是最重要的,但唯一剩下的问题是,主容器navcon的导航栏覆盖了tabbarcon的navcons中的导航栏,我需要最顶层viewcon上的标题,它位于所有内容之上。
除了在所有内容上提供视图控制器之外,还有人打开和关闭主容器navcon的导航栏,有没有人为此做出更明智的解决方案?
答案 0 :(得分:0)
我在AppDelegate中定义了一个属性
@property (strong, nonatomic) UINavigationController* rootNavController;
我可以使用委托对象方法(如
)在TabBar上显示viewController self.navController = nil;
LGLoginViewController* loginView = [[LGLoginViewController alloc] initWithNibName:@"LGLoginViewController"bundle:nil];
if (!self.navController) {
self.navController = [[UINavigationController alloc] initWithRootViewController:loginView];
} else {
[self.navController initWithRootViewController:loginView];
}
self.navController.delegate = self;
[self.window.rootViewController presentModalViewController:self.navController animated:NO];
以后我关闭控制器