繁体   English   中英

iOS-UINavigationController-NavigationBar与UIViewController一起滑入

[英]iOS - UINavigationController - NavigationBar sliding in together with UIViewController

我有两个UIViewControllers,A和B。

A隐藏了UINavigationBar,而B没有隐藏。 从A到B动画(使用默认动画)时,导航栏必须可见。 导航栏只是在某个时候弹出(viewWillAppear或viewDidAppear),而不是随UIViewController B一起滑入。

从B转到A时,导航栏会平滑滑出。

从A到B设置动画时,如何获得所需的效果?

您可以尝试以下方法:

使用实例变量执行此操作:

self.navigationController setNavigationBarHidden:hide animated:animated];
_shouldHideStatusBar = hide;

并实现以下功能:

- (BOOL)prefersStatusBarHidden{
    return _shouldHideStatusBar;
}

setNavigationBarHidden:animated函数将自动调用preferredsStatusBarHidden函数。 如果没有,则可以使用以下UIViewController的方法调用它:

[self setNeedsStatusBarAppearanceUpdate];

当然,您可以使用以下方式选择隐藏动画样式的状态栏:

- (UIStatusBarAnimation) preferredStatusBarUpdateAnimation {
    return UIStatusBarAnimationSlide;
}

让我知道是否有帮助。 祝好运!!

(我在这里得到了这个答案: 如何同时滑动状态栏和导航栏?

在ViewController B中,只需执行以下操作:

-(void) viewWillAppear:(BOOL)animated {
     [super viewWillAppear: animated];
     [self.navigationController setNavigationBarHidden: NO animated: YES];
}

我不知道在进行全视图控制器转换时,它还可以控制动画。 我以为它只能控制动画,导航栏从上到下再返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM