0

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

我知道setNavigationBarHidden:animated:导航栏上有一个可以使用的,但这仍然会在屏幕上显示该栏一秒钟,然后再删除和重新调整屏幕尺寸。

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

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

谢谢,德曼

4

2 回答 2

5

UINavigationController在 AppDelegate- (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];

希望这可以帮助。

PS实际上我再也没有显示导航控制器的navigationBar。在需要该栏的控制器上,我正在添加一个新的。

于 2013-07-11T15:20:07.353 回答
0

你可以尝试做

setNavigationBarHidden:animated:

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

如果没有,您尝试在展示之前将其设置在导航或视图控制器上...

于 2013-07-11T15:14:52.890 回答