2013-07-25 134 views
0

嗨有可能在沒有保存到iOS設備的情況下捕獲圖像。這是一個令我擔心的問題。使用UIImagePickerController在設備上保存圖像並保存圖像

可以任何請給我一個想法如何實現它。

+0

你的問題太籠統了。至少你能描述你在做什麼(你如何捕捉圖像)? –

+0

當您使用'UIImagePickerController'拍攝照片時,除非您編寫特定代碼將圖像保存到某處,否則不會保存任何內容。你關心什麼? – rmaddy

+0

我的英文很糟糕,有些時候,對不起@ Vitaly.S –

回答

2

是的,它是可能的:

- (void)takePhoto 
{ 
    UIImagePickerController * pc = [[UIImagePickerController alloc] init]; 
    pc.sourceType = UIImagePickerControllerSourceTypeCamera; 
    pc.delegate = self; 

    pc.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; 
    pc.allowsEditing = YES; 

    [self presentViewController:pc animated:YES completion:^{ 

    }]; 
} 

#pragma mark - UIImagePickerController Delegate 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    [picker dismissViewControllerAnimated:YES completion:^{ 
     UIImage * image = [info valueForKey:@"UIImagePickerControllerOriginalImage"]; 
     self.imageView.image = image; 
    }]; 
} 

編輯:

如果你想保存的圖片,你可以簡單地把它保存到緩存目錄(見蘋果文檔的NSFileManager的信息上如何做到這一點,或其他堆棧溢出問題。這是首選的NSUserDefaults,雖然這也可以。

如果你想簡單地發送它(通過電子郵件,共享或API上傳),你不必保存它首先。您可以使用駐留在上面self.imageView.image屬性中的內存中版本。

+0

非常感謝您的幫助,先生。這是一個小問題。我想發送捕捉圖像。在nsuser deafaults或nsdata中保存併發送它是一種好的做法嗎?一旦收到確認,我會將nsuser默認值或nsdata設置爲空 –