我有以下代碼可讓用戶拍攝照片或從相冊中進行選擇。雖然從相機拍攝的照片製作完美,但當我選擇觸發動作的按鈕以從相冊中選擇相冊時,但您實際上無法選擇照片。在啓動從相冊方法中選擇時,我確實在控制檯中收到了一條警告,當我從相機方法啓動拍攝時,我沒有收到該警告。以下是相關的代碼和警告。UIImagepicker適用於相機但不適用於相冊
.H
@interface sitespecTakePhoto : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@property (strong, nonatomic) NSString *pbvlocname;
@property (strong, nonatomic) IBOutlet UITextField *descTextField;
@property (strong, nonatomic) IBOutlet UIImageView *imageField;
@property (strong, nonatomic) UIImagePickerController *imagePicker;
@property (nonatomic, strong) IBOutlet UILabel *successLabel;
@property UIImage *imageToSend;
@property NSString *desc;
- (IBAction)imageFromCamera:(id)sender;
- (IBAction)resignKeyboard:(id)sender;
-(IBAction)uploadButtonClicked:(id)sender;
@end
.M
- (IBAction)imageFromCamera:(id)sender
{
imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
[self presentViewController:imagePicker animated:YES completion:nil];
}
- (IBAction)imageFromAlbum:(id)sender
{
imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentViewController:imagePicker animated:YES completion:nil];
}
#pragma mark - Image Picker Delegate Methods
// Dismiss the image picker on selection and use the resulting image in our ImageView
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage: (UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[[imagePicker presentingViewController] dismissViewControllerAnimated:YES completion:nil];
[imageField setImage:image];
imageToSend = image;
}
// On cancel, only dismiss the picker controller
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[[imagePicker presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}
- (IBAction)resignKeyboard:(id)sender
{
desc = descTextField.text;
[sender resignFirstResponder];
}
,當我按下按鈕來觸發imageFromAlbum方法我得到警告:
Warning: Attempt to present <UIImagePickerController: 0x1d59d6b0> on <UINavigationController: 0x1e0319f0> while a presentation is in progress!
再次,專輯顯示但沒有任何反應,當你點擊一個圖像或按取消按鈕,它幾乎在我看來這種方法不認識g UIImagePicker委託方法,而imageFromCamera方法是。提前感謝任何幫助!
你如何讓相機或相冊之間的選擇?操作表?你使用哪種委託方法? – rmaddy
imagePickerController:didFinishPickingImage:editingInfo:已棄用。使用imagePickerController:didFinishPickingMediaWithInfo:來代替。 – Franck