2014-01-26 96 views
-1

我希望我的每个3视图都有一个“导航”按钮。当你点击那个按钮时,它会打开一个有3个按钮的模式视图。每个按钮(例如:视图1,视图2 ..)都会带您到相应的视图,但由于某些原因,导航控制器(带有状态栏,标题等)在此之后被隐藏。presentViewController隐藏导航控制器(iOS7)

这就是我的行动:

mainNavController.h

- (IBAction)openUpcomingReleases:(id)sender { 
    UpcomingReleasesViewController *upcomingReleases = [self.storyboard instantiateViewControllerWithIdentifier: @"upcomingReleases"]; 
    upcomingReleases.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
    [self presentViewController:upcomingReleases animated:YES completion:nil]; 
} 

感谢。

+1

你为什么使用故事板而不使用segues? – nhgrif

+1

如果你正在使用故事板,你应该学习如何做segues。如果您希望导航控制器包含呈现的视图,则这绝对不是您要查找的代码。 – nhgrif

+0

我不知道你想要做什么。如果你想隐藏后退按钮,那么你应该以模态方式呈现视图。事实上,导航栏不在那里对最终用户有一个很大的线索,即他们不能退出该视图,他们必须做其他事情。 – nhgrif

回答

3

这里的一切都按预期工作。

导航控制器的导航栏将只显示该导航控制器包含的视图控制器。在这里,您将呈现一种模态视图。它不包含在导航控制器中。

如果你想在导航栏继续出现:

  • 如果这只是一个风格问题,把导航栏上你的界面生成器呈现模式的场景。
  • 如果您需要模态地呈现应包含在导航控制器中的视图,那么您需要提供导航控制器 - 而不是视图控制器。
  • 最后,如果你提出的观点意在导航控制器的导航堆栈的一部分,那么你就需要一推,不是一个模式SEGUE呈现它。
1
 
Embed a UINavigation controller to the upcomingReleases View Controller 

and give StoryBoard Id for the navigation controller as upcomingReleasesNavi 

then write the code , it will present with Navigation bar. 

- (IBAction)openUpcomingReleases:(id)sender { 

       UIViewController *svc =[self.storyboard instantiateViewControllerWithIdentifier 
:@"upcomingReleasesNavi"]; 

       svc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
       [self presentViewController:svc animated:YES completion:nil]; 
} 
相关问题