iOS开发系统相册的选取
来源:互联网 发布:余世存 知乎 编辑:程序博客网 时间:2024/06/05 17:30
要实现选取系统相册要用到UIImageViewPickerController这个类,废话不多说,直接上代码,细节已注释。
用到这个类的遵守以下2个协议
@interface ViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>@property (nonatomic,strong)UIImageView *imageView;@end
UI界面的布局,设置了一个imageView和一个按钮,在按钮添加点击事件
- (void)viewDidLoad { [super viewDidLoad]; UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)]; [imageView setImage:[UIImage imageNamed:@"pig"]]; _imageView = imageView; [self.view addSubview:_imageView]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(0, 600, 100, 30); button.center = self.view.center; button.backgroundColor = [UIColor redColor]; [self.view addSubview:button]; [button addTarget:self action:@selector(setImageView) forControlEvents:UIControlEventTouchUpInside];}
点击事件实现,在这里实现调用系统相册功能
- (void)setImageView{ UIImagePickerController *pickerController = [[UIImagePickerController alloc]init]; //设置选取的照片是否可编辑 pickerController.allowsEditing = YES; //设置相册呈现的样式 pickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //图片分组列表样式 //照片的选取样式还有以下两种// UIImagePickerControllerSourceTypePhotoLibrary 直接全部呈现系统相册// UIImagePickerControllerSourceTypeCamera 调取摄像头 //选择完成图片或者点击取消按钮都是通过代理来操作我们所需要的逻辑过程 pickerController.delegate = self; //使用模态呈现相册 [self presentViewController:pickerController animated:YES completion:^{ }];}
UIImageViewPickerController的2个代理方法
#pragma mark - imagePickerController的代理方法//选择照片完成之后的代理方法- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ //info是所选择照片的信息 //NSLog(@"%@", info); //刚才已经看了info中的键值对,可以从info中取出一个UIImage对象,将取出的对象赋给按钮的image /* UIImagePickerControllerCropRect = "NSRect: {{0, 0}, {3000, 2000}}"; UIImagePickerControllerEditedImage = "<UIImage: 0x7fe5ca57f9f0> size {1239, 825} orientation 0 scale 1.000000"; UIImagePickerControllerMediaType = "public.image"; UIImagePickerControllerOriginalImage = "<UIImage: 0x7fe5ca52a690> size {3000, 2002} orientation 0 scale 1.000000"; UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=9F983DBA-EC35-42B8-8773-B597CF782EDD&ext=JPG"; */ // UIImagePickerControllerEditedImage//编辑过的图片 // UIImagePickerControllerOriginalImage//原图 //刚才已经看了info中的键值对,可以从info中取出一个UIImage对象,将取出的对象赋给_imageView UIImage *resultImage = [info objectForKey:@"UIImagePickerControllerEditedImage"]; _imageView.image = resultImage; //使用模态返回到软件界面 [self dismissViewControllerAnimated:YES completion:nil];}//点击取消按钮所执行的方法- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ //这是捕获点击右上角cancel按钮所触发的事件,如果我们需要在点击cancel按钮的时候做一些其他逻辑操作。就需要实现该代理方法,如果不做任何逻辑操作,就可以不实现 [self dismissViewControllerAnimated:YES completion:nil];}
菜鸟一个,技术还很青涩,如有不对之处,还请批评指正!
0 0
- iOS开发系统相册的选取
- iOS开发选取系统相册
- IOS 系统相册 选取多张
- iOS调用系统相册选取图片
- iOS相册图片的选取与设置
- iOS选取相册图片
- ios:从系统相册选取视频并获得视频的缩略图
- ios:从系统相册选取视频并获得视频的缩略图
- ios:从系统相册选取视频并获得视频的缩略图
- iOS判断从系统相册选取的是视频还是照片
- iOS从系统相册选取多张照片
- iOS相册选取回调的一个问题
- iOS开发获取系统相册资源,自定义相册(PhotoKit)
- ios开发调用系统相机相册
- iOS开发 调用系统相机和相册
- iOS开发——系统相册操作
- iOS开发之获取系统相册ALAssetLibrary
- ios开发 使用系统相册和相机
- boost创建线程例子
- web.xml 配置随笔
- SQL-----group by 查询多个字段
- 113. Path Sum II
- Hibernate -- 普通sql返回结果字段名称改为小写
- iOS开发系统相册的选取
- 6walker侧滑
- 欢迎使用CSDN-markdown编辑器
- hadoop webhdfs 服务开启及使用
- 为RecyclerView打造通用Adapter 让RecyclerView更加好用
- 安卓开发入门——环境的搭建
- 不小心删掉oracle数据库datafiles的dbf文件的解决办法
- MySQL关联表查询详解
- 使用RESTClient调试openstack api