【iOS】UIImagePickerController

【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];
}

实现效果:

相关推荐
冰凉的枷锁.1 小时前
Mac iOS、Android、Flutter、React Native开发环境配置
macos
看海的四叔9 小时前
【系统】Mac crontab 无法退出编辑模式问题
运维·macos·定时任务·crontab
liupenglove9 小时前
Elasticsearch8.17.0在mac上的安装
macos
satadriver13 小时前
macos控制台安装
macos
时空无限13 小时前
mac iterm2 使用 lrzsz
macos
SchneeDuan14 小时前
从源码分析swift GCD_DispatchGroup
ios·swift·源码分析·gcd
Zender Han17 小时前
Flutter 中的 Flexible 与 Expanded 的介绍、区别与使用
android·flutter·ios
xuexizhe7719 小时前
iPhone恢复技巧:如何从 iPhone 恢复丢失的照片
android·安全·ios·智能手机·电脑·手机·iphone
toto41219 小时前
SDK 和 REST API 的区别
ios·iphone
十八胡笳20 小时前
mac-m2安装mysql遇到的问题
mysql·macos