0

我有2個視圖控制器,我只是試圖在它們之間切換。ViewController類沒有正確切換

在第一開關事件我此(即viewController1加載viewController2顯示):

// viewController1對象

if(!_viewController2) 
{ 
    _viewController2 = [[ViewControllerSubClass alloc] initViewWithReferenceToCurrentView:self]; 
} 
[self presentViewController:_viewController2 animated:NO completion:nil] 

;

// FYI在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%驗證代碼被稱爲但視圖未切換。

知道我在想什麼嗎?謝謝!!

+0

你使用UINavigationController嗎? – 2014-10-01 00:27:52

+0

我使用創建單個應用程序視圖時獲得的ViewController。它只是一個ViewController – Aggressor 2014-10-01 00:31:18

+1

你這樣做的方式有點臭。改爲嘗試更改UIWindow的根視圖控制器。 – 2014-10-01 01:03:15

回答

2

首先,您不需要創建一個特殊的初始化程序,將當前視圖控制器的指針傳遞給 - 當您以模態方式呈現視圖控制器時,它具有一個屬性presentViewController,該屬性將指向控制器提出它。

二,當你想回到第一個控制器時,應該使用dismissViewControllerAnimated:completion :,不存在第一個控制器。

+0

我感謝rdelmar,工作完美。 – Aggressor 2014-10-01 16:11:44