0

我有一個ViewController(VC1),打開另一個模塊化的ViewController(VC2),嵌入在NavigationController(NavC1)中。 VC2被用作源選擇視圖,供用戶選擇不同的來源,例如內置照片庫。當用戶在VC2中選擇照片庫時,我打開Apple的imagePicker。關閉imagePickerController之後Modalview:didFinishPickingMediaWithInfo:

VC1 --(modal)--> NavC1 ----> VC2

在我想提出模態VC2之前關閉的imagePickerdidFinish。其實這個方法看起來如下。

-(void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage* image = [info objectForKey:UIImagePickerControllerOriginalImage]; 

    ... 

    NSError* error; 
    if([UIImageJPEGRepresentation(image, 0.5) writeToFile:path options:NSDataWritingFileProtectionComplete error:&error] == NO) 
    { 
     NSLog(@"Saving image to file failed with error %@",[error localizedDescription]); 
    } 

    picker.delegate = nil; 
    [self dismissModalViewControllerAnimated:YES]; 
    ... 
} 

我迄今爲止嘗試:

  • 我曾嘗試使用父導航控制器
  • 予以駁回我已經存儲到VC2參考在VC1的prepareForSegue:和 通過委託當imagePicker完成 完成時,從VC2回到VC1。在這種方法中我試圖簡單地dimiss模式視圖 手動([self.myModalView dismissModalViewControllerAnimated:YES]

沒有人對我有一個建議?提前致謝!

回答

0

如果你被[self.navigationController PushViewController:VC2Object animated:YES];來VC2,那麼你需要彈出它即[self.navigationController popViewController];

如果您是來VC2通過[self.navigationController presentedViewController];那麼你需要[self dismissModalViewControllerAnimated:YES];

因此,請檢查你是如何加載VC2的viewController在記憶中。

+0

Mh ...我沒有手動做。我已經建立了從VC1到VC2的Segue,並將風格設置爲「Modal」。但無論如何,'[self dismissModalViewControllerAnimated:YES]'不起作用,因爲這會關閉imagePicker而不是我打開拾取器的tableView。 – Chris 2012-07-16 07:03:38

相關問題