无法使用模拟器从 ios 中的 ImagePicker 获取图像路径和图像?
Unabe to get image path & image from UIImagePicker in ios using simulator?
我正在尝试从 imagepicker 获取图像路径和选定图像 controller.I 已使用委托方法获取路径和图像,但我总是得到 null。
显示图片选择器的代码
- (IBAction)choosePicture:(id)sender
{
UIImagePickerController *pickerController = [[UIImagePickerController alloc]
init];
pickerController.delegate = self;
[self presentViewController:pickerController animated:YES completion:nil];
}
委托代码
- (void) imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
//You can retrieve the actual UIImage
UIImage *pick_image = [editingInfo valueForKey:UIImagePickerControllerOriginalImage];
NSURL *path = [editingInfo valueForKey:UIImagePickerControllerReferenceURL];
[picker dismissViewControllerAnimated:YES completion:^{
}];
}
视图控制器的协议代码
#import <UIKit/UIKit.h>
@interface RegisterViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@property (weak, nonatomic) IBOutlet UITextField *txt_fname;
@property (weak, nonatomic) IBOutlet UITextField *txt_lname;
@property (weak, nonatomic) IBOutlet UITextField *txt_profession;
@property (weak, nonatomic) IBOutlet UITextField *txt_language;
@property (weak, nonatomic) IBOutlet UITextField *txt_email;
@property (weak, nonatomic) IBOutlet UITextField *txt_password;
@property (weak, nonatomic) IBOutlet UITextField *txt_confirm_password;
@property (weak, nonatomic) IBOutlet UITextField *txt_profile;
@property (weak, nonatomic) IBOutlet UITextField *txt_address;
@end
也许使用 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;
更好
喜欢
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *originalImage = info[UIImagePickerControllerOriginalImage];
}
使用这个委托方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
以下一项已弃用(您使用过)
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo NS_DEPRECATED_IOS(2_0, 3_0);
请使用 [editingInfo valueForKey:UIImagePickerControllerMediaURL]
而不是 [editingInfo valueForKey:UIImagePickerControllerReferenceURL];
这将为您提供图像的路径。
我正在尝试从 imagepicker 获取图像路径和选定图像 controller.I 已使用委托方法获取路径和图像,但我总是得到 null。
显示图片选择器的代码
- (IBAction)choosePicture:(id)sender
{
UIImagePickerController *pickerController = [[UIImagePickerController alloc]
init];
pickerController.delegate = self;
[self presentViewController:pickerController animated:YES completion:nil];
}
委托代码
- (void) imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
//You can retrieve the actual UIImage
UIImage *pick_image = [editingInfo valueForKey:UIImagePickerControllerOriginalImage];
NSURL *path = [editingInfo valueForKey:UIImagePickerControllerReferenceURL];
[picker dismissViewControllerAnimated:YES completion:^{
}];
}
视图控制器的协议代码
#import <UIKit/UIKit.h>
@interface RegisterViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@property (weak, nonatomic) IBOutlet UITextField *txt_fname;
@property (weak, nonatomic) IBOutlet UITextField *txt_lname;
@property (weak, nonatomic) IBOutlet UITextField *txt_profession;
@property (weak, nonatomic) IBOutlet UITextField *txt_language;
@property (weak, nonatomic) IBOutlet UITextField *txt_email;
@property (weak, nonatomic) IBOutlet UITextField *txt_password;
@property (weak, nonatomic) IBOutlet UITextField *txt_confirm_password;
@property (weak, nonatomic) IBOutlet UITextField *txt_profile;
@property (weak, nonatomic) IBOutlet UITextField *txt_address;
@end
也许使用 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;
喜欢
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *originalImage = info[UIImagePickerControllerOriginalImage];
}
使用这个委托方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
以下一项已弃用(您使用过)
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo NS_DEPRECATED_IOS(2_0, 3_0);
请使用 [editingInfo valueForKey:UIImagePickerControllerMediaURL]
而不是 [editingInfo valueForKey:UIImagePickerControllerReferenceURL];
这将为您提供图像的路径。