【发布时间】:2014-09-30 23:40:05
【问题描述】:
我有 2 个视图控制器,我只是想在它们之间切换。
在第一个 switch 事件中我这样做(即 viewController1 正在加载 viewController2 以显示):
//viewController1 对象
if(!_viewController2)
{
_viewController2 = [[ViewControllerSubClass alloc] initViewWithReferenceToCurrentView:self];
}
[self presentViewController:_viewController2 animated:NO completion:nil]
;
//仅供参考,ViewControllerSubClass 中的 init 方法如下所示
-(id)initViewWithReferenceToCurrentView:(TakePhotoViewController*)view
{
self = [self init];
_previousViewController = view;
return self;
}
这行得通,视图确实加载了这个类。但是,当我尝试在 viewController2 类中切换回 viewController1 时,它不起作用,并且 viewController2 占据了屏幕。
//viewController2 对象
-(void)goBackToViewControllerOne
{
[self presentViewController:_takePhotoView animated:NO completion:nil];
[self removeFromParentViewController];
}
我可以 100% 验证代码被调用但视图没有切换。
知道我错过了什么吗?谢谢!!
【问题讨论】:
-
你使用 UINavigationController 吗?
-
我正在使用您在创建单个应用程序视图时获得的 ViewController。它只是一个 ViewController
-
你这样做的方式有点臭。尝试更改 UIWindow 的根视图控制器。
标签: objective-c xcode model-view-controller uiviewcontroller interface-builder