iOS - 如何在屏幕上不显示导航栏?

时间:2013-07-11 15:10:28

标签: iphone ios uinavigationbar

我正在寻找一种方法让导航栏根本不显示在屏幕上。

我知道在导航栏上有一个setNavigationBarHidden:animated:,但在删除和重新调整屏幕尺寸之前,这仍然会在屏幕上显示一秒钟。

我已尝试将setNavigationBarHidden:animated:移至viewDidLoad:viewWillAppear:等,并将其隐藏在之前的活动viewWillDisappear:中,但会在下一个活动中显示屏幕。

如何使视图在显示之前加载导航栏?

谢谢, DMAN

2 个答案:

答案 0 :(得分:5)

我正在隐藏AppDelegate UINavigationController方法中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions的导航栏,对我来说效果很好。在某些时候,当我浏览屏幕时,我正在显示它然后再次隐藏它。奇迹般有效。

UIViewController *controller = [[UIViewController alloc] init];
UINavigationController *navCtrl = [[UINavigationController alloc] initWithRootViewController: controller];
navCtrl.navigationBarHidden = YES;

self.window.rootViewController = navCtrl;
[controller release];
[navCtrl release];

希望这有帮助。

P.S。实际上我再也没有显示导航控制器的navigationBar。在需要条形码的控制器上,我正在添加一个新的。

答案 1 :(得分:0)

你可以尝试做

setNavigationBarHidden:animated:

在您的视图中调用视图,您不希望在调用新视图之前显示该视图。如果它们具有相同的导航控制器,则它应该已经隐藏(如果出现)

如果没有,你会尝试在导航或视频控制之前将其设置为现在...