popviewcontroller什么也不做,不工作

问题描述:

我试图用popoverviewcontroller回去到视图控制器,但没有任何反应。
首先,我加载第一的ViewController,在AppDelegate中,使用此代码:popviewcontroller什么也不做,不工作

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:self.welcomeMenu]; 
nav.navigationBarHidden = YES; 
self.window.rootViewController = nav; 
nav = nil; 

的的导航栏被隐藏,因为我需要它以这种方式
在这个视图控制器,我显示一个菜单带有按钮,然后,展现另一个ViewController中,我使用这个代码:

SecondViewController *secView = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil]; 

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationDuration:0.75]; 
[self.navigationController pushViewController:secView animated:NO]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; 
secView = nil; 

而且SecondViewController负载(但是旋转不工作)...
我SecondViewController代码中SplitViewController增加(与NavigationCon troller左侧的表,而另一个NavigationController另一个右表)
然后,在SecondViewController,我加入手动按钮回去,使用此代码:

[self.navigationController popViewControllerAnimated:NO]; 

,但没有发生...... 当我打印self.navigationController,输出为(空),所以我想这是问题,但为什么我的self.navigationController为空?我需要做些什么才能正确弹出?
如果我不隐藏的导航栏在AppDelegate中的代码,在返回按钮出现自动工作正常,但是当我想这样做,手动,没有工作...

+0

尝试改变束:无捆绑:[一个NSBundle mainBundle] –

+0

什么也没有发生仍然 – user1600801

你不能从你的SecondViewController加载拆分视图控制器。

Split View Controllers

分割视图控制器必须始终为您 创建任何接口的根。换句话说,你必须安装从 UISplitViewController对象作为应用程序的 窗口的根视图的视图。然后,分割视图界面的窗格可能包含导航控制器,标签栏控制器或任何其他类型的视图控制器,以实现您的界面。分割视图 控制器无法以模态方式呈现。

+0

所以我需要删除SecondViewController,在我的MainViewController中声明并加载SplitViewController,并将SplitViewController添加到一个NavigationController中? – user1600801

+0

不,分割视图控制器只能是所有其他视图控制器的根。您不能在导航控制器中使用它。 –

+0

哦,好的。现在我明白了......我想我需要改变我的范例。非常感谢...当我从MainViewController调用SplitViewController时,更改“self.window.rootViewController”,我可以添加动画吗? – user1600801

你永远不添加SecondViewController导航控制器的viewControllers,这就是为什么self.navigationController记录为空,所以只需使用新的控制器更新viewControllers数组。

+0

所以线[self.navigationController pushViewController:secView动画:NO];不这样做? – user1600801

+0

它被添加,因为在[self.navigationController pushViewController:secView animated:NO]之后,我打印[self.navigationController.viewControllers count]并且输出是2.仍然,我手动添加ViewController,输出也是2.然后,当我想弹出ViewController时,输出为0,self.navigationController为(null) – user1600801

+0

对不起,我正在查看popViewController消息,并没有注意到你的推送线 - 是的,推动应该添加视图控制器堆栈。所以,我不知道为什么self.navigationController记录为空。 – rdelmar