我想做这个简单的事情:创建一个uinavigationcontroller,但在启动时不显示。假设我想要一个带有“Go”按钮的欢迎屏幕,该按钮指向uinavigationcontroller。在我看到的所有示例中,它看起来就像导航控制器一样。我应该怎么做呢?
谢谢!
答案 0 :(得分:2)
如果“显示”是指使用没有可见足迹的导航控制器,那很容易。只需在根视图控制器中执行此操作:
// Root
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES animated:animated];
}
对于子视图控制器,您需要执行类似操作,以便在出现时显示导航栏。
// Child
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:NO animated:animated];
}
对于具有主菜单的应用程序,这是一种非常常见的技术,您不希望在主菜单视图中显示导航栏。
答案 1 :(得分:1)
在viewcontroller中显示go隐藏导航栏和其他显示导航栏
[self.navigationController setNavigationBarHidden:YES];
希望这会有所帮助
答案 2 :(得分:1)
显示导航控制器视图的机制在-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
方法的app委托中进行。在那里添加NC作为窗口的rootViewController
如果要显示另一个,只需将自定义视图控制器设置为代替NC,然后在按下按钮时调用的操作方法中切换两个视图控制器(用NC替换第一个自定义视图控制器)。登记/>
假设myCustomController
定义了一个名为UIButton
的{{1}}属性:
touchButton
现在在你的app中写下一个动作方法:
// in the app delegate
-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//self.window.rootViewController = self.navigationController;
[self.myCustomController.touchButton addTarget:self
action:@selector(switchVC)
forControlEvents:UIControlEventTouchUpInside];
self.window.rootViewController = self.myCustomController;
[self.window makeKeyAndVisible];
return YES;
}