2013-02-13 56 views
1

我有一個UIImagePickerController在我的應用程序,它使用didFinishPickingMediaWithInfo委託監視用戶是否選擇了圖像。設置dismissModalViewControllerAnimated代表

-(void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; 

    if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { 
     UIImage *image = [info 
          objectForKey:UIImagePickerControllerOriginalImage]; 
    } 
    [picker dismissModalViewControllerAnimated:YES]; 
} 

當[拾取器dismissModalViewControllerAnimated:YES]被調用時,它會關閉當前的UIImagePickerController視圖,並顯示UIImagePicker之前回到圖。我想設置一個委託,在調用dismissModalVewControllerAnimated時將選定的圖像發送回先前的視圖。我怎麼做?非常感謝!

回答

0

創建選取器時應該設置委託。控制器是否會返回到創建選取器的控制器?如果是這樣,那麼它應該成爲當時的代表。您應該使用dismissViewControllerAnimated:completion:而不是折舊的dismissModalViewController。

+0

謝謝。是的,它會回到創建選取器的那個。我是xcode的新手,不確定如何使用它設置代理。你能給我一些指導嗎? – 2013-02-13 05:51:53

+0

@ user1829700,設置委託很容易,但整個過程可能會有點混淆,直到你掌握它。基本上,您需要在選取器中添加一個協議,並且需要一個委託屬性。控制器將成爲代表,只需在picker.delegate = self時創建選擇器。我建議你閱讀Apple文檔中的「使用協議」指南。 – rdelmar 2013-02-13 06:20:30