gpt4 book ai didi

iOS 推送导航 Controller ,第二个 View 上没有栏

转载 作者:可可西里 更新时间:2023-11-01 06:22:19 24 4
gpt4 key购买 nike

我有一个 iOS 应用程序,在 UINavigationController 中设计。但是,其中一个推送 View Controller 需要全屏 View ,顶部没有导航栏。 (要返回,只有一个小的圆形按钮)。但是,我尝试过的任何“隐藏”导航栏 (navigationCtl.navigationBar.hidden=TRUE) 的方法都会给我留下丑陋的工件——在推送 View 之前调用它(在 viewDidLoad 或 viewWillAppear 中)会导致之前的 View Controller 栏向左滑动动画开始时闪烁白色。类似地,在 viewDidAppear 中调用它会在第二个 View 的顶部留下一个白色条,以及几个向下推的 subview ,不碍事。有什么方法可以让新 View 像往常一样滑过,但当它滑过时,顶部根本没有导航栏吗?


请注意,为了帮助 Google,这里的问题本质上是:

当一个顶部有导航栏而另一个顶部没有导航栏时,如何在两个 UIViewController 之间设置动画。那么,如何从带有导航栏的 UIViewController 导航到没有导航栏的 UIViewController - 避免可怕的闪烁。

下面 Ev 给出了惊人的答案......太棒了。

最佳答案

试一试,看看它如何为您服务。

在 viewWillAppear 的目标 View Controller 中

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

它实际上有一个很酷的效果并且可以派上用场。在 viewWillAppear 中,一切都发生在 View 显示之前,因此它消除了奇怪的工件。

好好的

关于iOS 推送导航 Controller ,第二个 View 上没有栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com