1

我在使用导航控制器时遇到问题。我的程序布置在我有一个开始屏幕的地方(不在导航控制器中),然后当您按下按钮时,它会将您发送到导航控制器和新视图。

有没有办法使用后退按钮从导航控制器返回主屏幕。

或者,如果我将开始屏幕作为导航控制器的根目录,是否可以隐藏视图中的顶部栏。

我最初没有包含开始屏幕的原因是因为我不希望屏幕上出现导航栏。

谢谢。

4

7 回答 7

2

为了隐藏UINavigationBar然后在您的开始屏幕视图控制器的方法中使用波纹管viewWillAppear:..

[self.navigationController setNavigationBarHidden:YES]; 

或者

[self.navigationController setNavigationBarHidden:YES animated:YES];

并且您可以使用以下代码返回上一个视图以及主屏幕或父视图...

-(IBAction)yourButton_Clicked:(id)sender{

    [self.navigationController popViewControllerAnimated:YES];//// For back to Previous view
  //  [self.navigationController popToRootViewControllerAnimated:YES]; // For Back to home screen or parent view

}
于 2012-12-10T05:41:04.837 回答
0

好吧,有一个非常简单的方法可以UINavigationBar在蚂蚁视图中隐藏你想要的时候:-

[self.navigationController setNavigationBarHidden:YES];

并且在您想要显示它的视图中,只需像这样取消隐藏它:-

[self.navigationController setNavigationBarHidden:NO];
于 2012-12-10T05:41:05.283 回答
0

您可以在所有屏幕中使用导航栏。但是对于您不想显示的屏幕,只需使用隐藏属性作为导航栏。该屏幕不会在顶部显示导航栏。

[[self navigationController] setNavigationBarHidden:YES animated:YES];

它会解决你的问题。

于 2012-12-10T05:41:30.590 回答
0
   - (void) viewWillAppear:(BOOL)animated{

    [self.navigationController setNavigationBarHidden:YES animated:animated];

         [super viewWillAppear:animated];
 }

- (void) viewWillDisappear:(BOOL)animated{

    [self.navigationController setNavigationBarHidden:NO animated:animated];

[super viewWillDisappear:animated];
}

通过在主屏幕上实现此功能,您可以隐藏顶部栏

于 2012-12-10T05:45:44.470 回答
0

你可以使用隐藏导航栏

self.navigationController.navigationBarHidden = YES;

将开始屏幕作为子视图添加到导航的根视图控制器。

[self.view addSubview:startScreen.view]

稍后将其删除并将[startScreen.view removFromSuperview]标志设置navigationBarHiddenNO.

于 2012-12-10T05:46:50.563 回答
0

如果您使用情节提要,您可以创建一个 UIButton 并以模态方式链接视图。

另请查看https://stackoverflow.com/a/8348527/401787以在视图控制器之间导航。

于 2012-12-10T05:47:00.767 回答
0

其实你的要求并不明确。但是要隐藏您可以使用的导航控制器,

self.navigationController.navigationBarHidden=YES;

您还可以将自定义按钮添加到导航栏。

UIBarButtonItem *leftBtn=[[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonSystemItemAction target:self action:@selector(backBtnClicked:)];
    self.navigationItem.leftBarButtonItem=leftBtn;

您可以在backBtnClicked:方法中正确地提出您的要求。您还可以导航到您的根级视图控制器。

于 2012-12-10T05:49:09.973 回答