我有一个应用程序,我试图复制我看到的Apple Store应用程序在做什么,第一个视图没有导航栏,但随后的视图。在根视图中隐藏导航栏?
我已经尝试过设置navigationBarHidden到YES和NO的各种组合,以便在可见时进行管理,但关键问题似乎是在转换期间,它可以是可见的或不是,而在Apple Store应用程序中,导航栏不在主视图中,而是从右侧滑入子视图。
我在寻找的是一种让导航栏与子视图一起滑动的方式,而不是在过渡之前或之后出现(动画或不)。
我有一个应用程序,我试图复制我看到的Apple Store应用程序在做什么,第一个视图没有导航栏,但随后的视图。在根视图中隐藏导航栏?
我已经尝试过设置navigationBarHidden到YES和NO的各种组合,以便在可见时进行管理,但关键问题似乎是在转换期间,它可以是可见的或不是,而在Apple Store应用程序中,导航栏不在主视图中,而是从右侧滑入子视图。
我在寻找的是一种让导航栏与子视图一起滑动的方式,而不是在过渡之前或之后出现(动画或不)。
原来我只是没有打在正确的地方隐藏和显示导航栏。
我用how to hide navigationbar when i push from navigation controller?的答案,它现在对我很好。
感谢您分享此链接! – 2012-10-06 17:17:27
在你的主视图中,初始化childViewController。然后在childViewController上设置导航栏,按下视图控制器。
ChildVC *childVC = [[ChildVC alloc] initWithNibName:@"ChildVC" bundle:nil];
[self setChildVC:childVC];
childVC.navigationController.navigationBarHidden = NO;
[self.navigationController pushViewController:childVC animated:YES];
这对我来说是什么让导航控制器立即出现,而不是滑入。 – stevex 2012-07-07 20:53:27
如果你正在谈论他们的第一个选项卡“精选”,在这里,如果你挖掘与披露指标列表中的项目之一做什么。它从另一个角度看似从右向左滑动。我认为他们正在使用动画交换两个视图控制器。在IS中滑动的导航控制器就是为什么NavBar似乎从右侧滑入的原因。
你会做这样的事情来获得这种效果:
// First set up a view controller with frame set off to the right of the screen.
// Then animate it sliding to the left by setting its frame x = 0;
frame.origin.x = 0;
[UIView animateWithDuration:.4 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut
animations:^{
vc.view.frame = frame;
}
completion:nil];
你是使用故事板还是使用xib文件? – 2012-07-07 19:22:02
使用故事板。 – stevex 2012-07-07 22:38:21