我已将代码放在App Delegate中,以便我可以从一个视图控制器转换到另一个视图控制器。
但是,当我按下按钮时,不会转换到我的SecondViewController
。我应该怎么做呢?任何简单的方法来带来下一个视图控制器,(pushview控制器)......
这是我的代码:
SecondViewController *aSecondView = [[SecondViewController alloc] init];
[self setSecondViewController:aSecondView];
[aSecondView release];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:window
cache:YES];
[viewController.view removeFromSuperview];
[self.window addSubview:[secondViewController view]];
[UIView commitAnimations];
答案 0 :(得分:1)
好吧,既然您没有使用内置函数来呈现视图控制器,则必须调用所有view*Appear:
函数:
presentModalViewController:animated:
来推送新视图。如果它在逻辑上不是当前视图的子视图,则使用根视图推送第一个视图,然后当您想要转换时,关闭第一个视图并从(从未见过的)根视图中显示第二个视图。
答案 1 :(得分:1)
虽然您还没有发布更多代码,所以我无法确定,但是在您的应用代理中进行控制器转换会产生代码异味。由于您描述了一个启动转换的按钮,我的问题是,您为什么不在拥有按钮的视图控制器中使用导航控制器和/或以模态方式呈现第二个视图控制器?
明智地修改您的app委托 - 我主要只使用我的一次性全局任务,例如加载Core Data store / sqlite数据库等。