首页 文章

iOS推送导航控制器,第二个视图上没有栏

提问于
浏览
3

我有一个iOS应用程序,在UINavigationController中设计 . 但是,其中一个推送的视图控制器需要一个全屏视图,顶部没有导航栏 . (要回来,只有一个小的圆形按钮) . 但是,我尝试“隐藏”导航栏的任何方法(navigationCtl.navigationBar.hidden = TRUE)都会给我留下难看的文物 - 在推送视图之前调用它(在viewDidLoad或viewWillAppear中)导致前面的视图控制器栏到幻灯片白色就像幻灯片左侧动画开始一样 . 同样,在viewDidAppear中调用它会在第二个视图的顶部留下一个白色条,以及几个向下推的子视图 . 有没有什么方法可以像往常一样让新视图滑过,但是当它结束时,顶部根本没有导航栏?


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

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

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

1 回答

  • 10

    给它一个旋转,看看它是如何为你工作的 .

    在viewWillAppear中的目标视图控制器中

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

    它实际上有很酷的效果,可能很有用 . 在viewWillAppear中,一切都在显示视图之前发生,因此它会带走奇怪的工件 .

    好吧

相关问题