zoukankan      html  css  js  c++  java
  • iOS开发小技巧--相机相册的正确打开方式

    iOS相机相册的正确打开方式- UIImagePickerController

    • 通过指定sourceType来实现打开相册还是相机
    UIImagePickerControllerSourceTypePhotoLibrary, // 相册库,范围比PhotosAlbum要大
    UIImagePickerControllerSourceTypeCamera, // 相机
    UIImagePickerControllerSourceTypeSavedPhotosAlbum // 相册
    
    • 打开之前一定判断设备是否可用[UIImagePickerController isSourceTypeAvailable:type]
    /// 打开相机
    - (void)openCamera
    {
        [self openImagePickerControllerWithType:UIImagePickerControllerSourceTypeCamera];
    }
    /// 打开相册
    - (void)openAlbum
    {
        [self openImagePickerControllerWithType:UIImagePickerControllerSourceTypePhotoLibrary];
    }
    /// 打开ImagePickerController的方法
    - (void)openImagePickerControllerWithType:(UIImagePickerControllerSourceType)type
    {
        // 设备不可用  直接返回
        if (![UIImagePickerController isSourceTypeAvailable:type]) return;
    
        UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init];
        imgPicker.sourceType = type;
        imgPicker.delegate = self;
        [self presentViewController:imgPicker animated:YES completion:nil];
    }
    
    • 代理方法中,获取选中图片注意:一定记得dismiss
    #pragma mark - UINavigationControllerDelegate, UIImagePickerControllerDelegate
    // 选择照片之后
    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
    {
    //    ChaosLog(@"%@",info);
        // 获取用户选择的图片
        UIImage *image = info[UIImagePickerControllerOriginalImage];
    
        [self.photosView addPhoto:image];
    
        // 退出imagePickerController
        [self dismissViewControllerAnimated:YES completion:nil];
        [self.textView becomeFirstResponder];
    }
    
    • 系统自带的只能单选,实现多选要用大如图的库

  • 相关阅读:
    net中System.Security.Cryptography 命名空间 下的加密算法
    关于如何生成代码的帮助文档的链接
    Application.EnableVisualStyles();
    VS2010里属性窗口中的生成操作
    把普通的git库变成bare库
    MultiTouch camera controls source code
    android onTouch()与onTouchEvent()的区别
    iOS开发中常见的语句@synthesize obj = _obj 的意义详解
    java nio 快速read大文件
    使用ndk standalone工具链来编译某个平台下的库
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5760189.html
Copyright © 2011-2022 走看看