我的应用程序位于UINavigationController下方,因此位于UINavigationBar下方。我想在这个UINavigationBar之上呈现一个模态视图控制器,因为我写的控制器没有意义,如果它在它下面(也就是说,我想在显示这个视图控制器时隐藏导航栏)。
使用此代码演示:
ukc = [[UnlockKeyboardViewController alloc] init];
[self presentModalViewController:ukc animated:NO];
导致模态视图控制器低于UINavigationBar。当我显示这个模态视图时,UINavigationBar不应该出现。我怎么能绕过那个?
PS:这是一个越狱应用程序,所以没有Interface Builder。
答案 0 :(得分:9)
[self.navigationController presentModalViewController:ukc animated:NO];
答案 1 :(得分:0)
处理相关问题的额外信息:
note173&#39}的回答也适用于animated:YES
。用户将看到ukc
的视图在导航堆栈上向上滑动。
如果您随后需要解雇ukc
并返回self
的观点,请执行以下操作:
[self.navigationController dismissModalViewControllerAnimated:NO];
[self.navigationController dismissModalViewControllerAnimated:YES];
第一个电话驳回ukc
。第二个电话解雇了导航控制器。用户看到的是ukc
的视图向下滑动以显示self
的视图,并瞥见其背后的导航堆栈。
所以你在这里有一种直接从导航堆栈切换到其他常规视图控制器,然后回到基本视图控制器的方式,所有这些都具有顺序感觉的动画。
(如果您的目标是在导航堆栈和ukc
之间来回切换,您可以通过一次调用取消ukc
- self.navigationController dismissModalViewControllerAnimated:YES];
,这会ukc
向下看以显示导航堆栈。)
请注意,这些方法在iOS 5中已弃用。我假设presentViewController
和dismissViewControllerAnimated
会做同样的事情,但我还没有测试过它们。