2013-10-11 39 views
0

這裏是我的設置:唉,駁回uiviewcontrollers和imagePickerController

導航控制器:ViewcontrollerA - > ViewControllerB

ViewcontrollerB顯示imagePickerController,設置本身作爲代表

如果用戶點擊從取消UIImagePicker,我是完全關閉ViewControllerB,將用戶彈回到ViewControllerA。

在:

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 

我呼籲:

[self dismissViewControllerAnimated:YES completion:nil]; 

[[self parentViewController] dismissViewControllerAnimated:YES completion:nil]; 

[[[self parentViewController] parentViewController] dismissViewControllerAnimated:YES completion:nil]; 

沒有運氣,ViewControllerB仍然掛起。

如何以編程方式從本身完全消除B?

回答

2

ViewControllerA是呈現ViewControllerB還是ViewControllerB通過您的導航控制器推送?這聽起來像是被推動。在這種情況下,我會嘗試

[[self navigationController] popViewControllerAnimated:YES]; 

編輯爲清楚: 你要取消的圖像拾取你已經是這樣的。你想用popViewControllerAnimated擺脫ViewControllerB。

+0

優秀的,流行的工作完美。謝謝。 – nibeck

0

呈現視圖控制器負責解除它所呈現的視圖控制器 。如果您在所呈現的視圖 控制器本身上調用此方法,它會自動將消息轉發給呈現視圖控制器的 。

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];