目前模态视图控制器在最前面的UINavigationController的(Present Moda

2019-09-20 04:59发布

我有我的应用程序,下面是一个UINavigationController,因此低于UINavigationBar的。 我想提出一个模式视图控制器在这个UINavigationBar的顶部,因为如果它是在它下面我写的控制器是没有意义的(即,我想这显示视图控制器时隐藏导航栏)。

与此代码呈现它:

    ukc = [[UnlockKeyboardViewController alloc] init];
    [self presentModalViewController:ukc animated:NO];

使模态视图控制器是UINavigationBar的下方。 这UINavigationBar的不应该显示出来,当我告诉这个模式的看法。 我怎样才能绕过去吗?

PS:这是一个越狱的应用程序,所以没有Interface Builder中。

Answer 1:

[self.navigationController presentModalViewController:ukc animated:NO];


Answer 2:

在与相关的问题开展工作,额外的信息:

note173的答案可与animated:YES太多。 用户将看到ukc的向上过NAV堆栈视图滑动。

如果你需在以后解雇ukc ,回到self的看法,这样做:

        [self.navigationController dismissModalViewControllerAnimated:NO];
        [self.navigationController dismissModalViewControllerAnimated:YES]; 

第一次调用驳回ukc 。 第二呼叫驳回导航控制器。 什么是用户看到的是ukc “滑下,露出的观点self的观点,与它背后的导航堆栈的一瞥”。

所以,你必须在这里什么是直接从导航堆栈切换到其它的一些常规视图控制器的方式,然后再返回到基本视图控制器,所有的动画,使连续感。

(如果你的目的是来回切换的导航堆栈之间ukc ,你会解雇ukc一个电话- self.navigationController dismissModalViewControllerAnimated:YES];这将滑动ukc的观点下揭示导航堆栈。)

请注意,这些方法在iOS的5不赞成我认为presentViewControllerdismissViewControllerAnimated会做同样的事情,但我没有测试过。



文章来源: Present Modal View Controller On Top of UINavigationController