【iOS】UIImagePickerController
前言
笔者简单学习了iOS开发如何调用本地的一个相册的内容,下面简单介绍一下相关内容。
介绍
UIImagePickerController是iOS平台上的一个类,用于在应用程序中访问设备的照片库、相机和视频录制功能。它提供了一个用户界面,使用户可以从设备的媒体库中选择照片或视频,或者使用设备的摄像头拍摄照片或录制视频。在这里我们先只介绍一下访问相机和相册这两个功能。
下面笔者直接通过一个例子来介绍对应的一个内容
- viewDidLoad部分
objc
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *pickImageButton = [UIButton buttonWithType:UIButtonTypeSystem];
[pickImageButton setTitle:@"选择图片" forState:UIControlStateNormal]; //设置了一个button
[pickImageButton addTarget:self action:@selector(pickImage) forControlEvents:UIControlEventTouchUpInside]; // 通过点击时间打开对应的图片
pickImageButton.frame = CGRectMake(100, 100, 150, 40);
[self.view addSubview:pickImageButton];
}
- 访问相册内容
objc
- (void)pickImage {
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self; // 设置代理
// 选择图片来源:相册
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// 展示 UIImagePickerController
[self presentViewController:imagePickerController animated:YES completion:nil];
}
- 选择图片
objc
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info { //后面的这个参数是有关于字典的内容,这个字典是用来访问图片的
// 获取选择的图片
UIImage *image = info[UIImagePickerControllerOriginalImage];
// 例如显示在 ImageView 上
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(50, 200, 200, 200);
[self.view addSubview:imageView];
// 关闭 UIImagePickerController
[picker dismissViewControllerAnimated:YES completion:nil];
}
实现效果: