zoukankan      html  css  js  c++  java
  • 系统简单的UIImagePickerController

    1.从系统相册中读取

         /*

         判断选择的读取类型是否支持

         UIImagePickerControllerSourceTypePhotoLibrary,普通相册

         UIImagePickerControllerSourceTypeCamera, 镜头(拍照、录视频)

         UIImagePickerControllerSourceTypeSavedPhotosAlbum(自己保存的图片)

         */

        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

            self.imagePC = [[UIImagePickerController alloc] init];

            _imagePC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

            

            //相册操作由代理来监听 取消还是选择完成

            _imagePC.delegate = self;

            

            //展示相册

            [self presentViewController:_imagePC animated:YES completion:nil];

        }

    2.拍照录视频

      if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

            self.imagePC = [[UIImagePickerController alloc] init];

            _imagePC.delegate = self;

            _imagePC.sourceType = UIImagePickerControllerSourceTypeCamera;

            //图片 public.image

            //视频 public.movie

            _imagePC.mediaTypes = @[@"public.movie"];

            [self presentViewController:_imagePC animated:YES completion:nil];

        }

    3.代理

    读取图片或者视频 统一回调这个代理

    系统相册 一次只能选取一张

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{

        [self dismissViewControllerAnimated:YES completion:nil];

        

        NSLog(@"%@", info);

    //    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

    //    NSData *data = UIImagePNGRepresentation(image);

    //    NSUInteger byte = data.length/8;

    //    NSUInteger k = byte / 1024;

    //    NSUInteger m = k / 1024;

    //    NSLog(@"%ld", m);

    }

     

    //取消按钮被按了

    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{

        [self dismissViewControllerAnimated:YES completion:nil];

    }

    4.将图片保存到系统相册

    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

  • 相关阅读:
    vmware centos .net core sdk开发测试
    Unable to bind to http://localhost:8080 on the IPv6 loopback interface: 'Cannot assign requested address'.
    把bootstrap4 dropdown 的导航下拉菜单触发方式改为鼠标浮动触发
    vs项目同步到gitee方法
    PetaPoco轻量级ORM框架
    本田汽车车机大屏破解教程
    SqlServer 游标逐行更新数据,根据上一行的数据来更新当前行
    Angular 2/4/5+ 重复点击菜单刷新界面
    Ionic 2 + 手动搭建开发环境教程 【转】
    在过去五分钟内,TypeScript语言服务以外终止了5次
  • 原文地址:https://www.cnblogs.com/huoran1120/p/5234116.html
Copyright © 2011-2022 走看看