Iphone 是否在根视图中隐藏导航栏?

Iphone 是否在根视图中隐藏导航栏?,iphone,cocoa-touch,Iphone,Cocoa Touch,我有一个应用程序,我正试图复制我看到的Apple Store应用程序所做的事情,其中第一个视图没有导航栏,但后续视图有导航栏 我尝试过将navigationBarHidden设置为“是”和“否”的各种组合,以便在它可见时进行管理,但关键的问题似乎是,在转换过程中,它要么可见,要么不可见,而在Apple Store应用程序中,导航栏不在主视图中,而是在子视图中从右侧滑入 我要寻找的是一种使导航栏与子视图一起滑入的方法,而不是在转换之前或之后显示(动画或非动画)。在主视图中,初始化childView

我有一个应用程序,我正试图复制我看到的Apple Store应用程序所做的事情,其中第一个视图没有导航栏,但后续视图有导航栏

我尝试过将navigationBarHidden设置为“是”和“否”的各种组合,以便在它可见时进行管理,但关键的问题似乎是,在转换过程中,它要么可见,要么不可见,而在Apple Store应用程序中,导航栏不在主视图中,而是在子视图中从右侧滑入


我要寻找的是一种使导航栏与子视图一起滑入的方法,而不是在转换之前或之后显示(动画或非动画)。

在主视图中,初始化childViewController。然后在childViewController上设置导航栏,按下视图控制器

ChildVC *childVC = [[ChildVC alloc] initWithNibName:@"ChildVC" bundle:nil];
[self setChildVC:childVC];
childVC.navigationController.navigationBarHidden = NO;
[self.navigationController pushViewController:childVC animated:YES];

在主视图中,初始化childViewController。然后在childViewController上设置导航栏,按下视图控制器

ChildVC *childVC = [[ChildVC alloc] initWithNibName:@"ChildVC" bundle:nil];
[self setChildVC:childVC];
childVC.navigationController.navigationBarHidden = NO;
[self.navigationController pushViewController:childVC animated:YES];

如果您正在谈论他们在第一个选项卡“特色”上所做的事情,如果您点击列表中带有披露指示器的项目之一。它似乎在另一个视图中从右向左滑动。我认为他们正在使用动画来交换两个视图控制器。滑入的是导航控制器,这就是为什么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];

如果您正在谈论他们在第一个选项卡“特色”上所做的事情,如果您点击列表中带有披露指示器的项目之一。它似乎在另一个视图中从右向左滑动。我认为他们正在使用动画来交换两个视图控制器。滑入的是导航控制器,这就是为什么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文件?您是在使用故事板还是在使用xib文件?这对我来说是使导航控制器立即显示而不是滑入。这对我来说是使导航控制器立即显示而不是滑入滑入。