我有一個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]
)
沒有人對我有一個建議?提前致謝!
Mh ...我沒有手動做。我已經建立了從VC1到VC2的Segue,並將風格設置爲「Modal」。但無論如何,'[self dismissModalViewControllerAnimated:YES]'不起作用,因爲這會關閉imagePicker而不是我打開拾取器的tableView。 – Chris 2012-07-16 07:03:38