2014-11-24 48 views
0

我正在使用圖像選擇器控制器來拍照並將它們保存到數據庫中。我有這種方法來獲取相機拍攝的圖像。從另一種方法調用圖像選擇器控制器委託方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 
self.imageView.image = chosenImage; 

[picker dismissViewControllerAnimated:YES completion:NULL]; 

} 

這個方法會自動調用,因爲它被委託爲self。我試圖調用這個,當我點擊一個按鈕,但我無法獲得圖像。它顯示我null.Here是我調用選取器控制器委託方法的方法。

- (IBAction)save_Image:(id)sender { 

UIImagePickerController *saveDelegate; 
NSDictionary *infoDelegate; 

[self imagePickerController:(saveDelegate) didFinishPickingMediaWithInfo:(infoDelegate)]; 

UIImage *chosenImage = infoDelegate[UIImagePickerControllerEditedImage]; 
self.imageView.image = chosenImage; 

//here i couldn't get the image. I am getting null 
} 

有沒有辦法,我可以通過調用從我自己的方法,該方法獲得圖像的任何可能的方式是什麼?

+0

'UIImagePickerControllerOriginalImage'將只會返回一個圖像,如果你啓用'allowedEditing'屬性。改用'UIImagePickerControllerOriginalImage'。 – 2014-11-24 12:45:13

+0

嗨,我不是在尋找編輯的圖像或原始圖像。我試圖通過從另一種方法調用該方法來獲取該圖像。 @GuyKogus – 2014-11-24 12:51:36

回答

1

如果你想告訴其他人當用戶選擇圖像,這是一個使用通知的理想場所。

static NSString* const ImagePickerDidFinishPickingPhotoNotification = @"ImagePickerDidFinishPickingPhotoNotification"; 

@implementation MyViewController 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    [[NSNotificationCenter defaultCenter] postNotificationName:ImagePickerDidFinishPickingPhotoNotification 
                 object:picker 
                 userInfo:info]; 
} 

@end 
相關問題