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];
    }
    
    • 系统自带的只能单选,实现多选要用大如图的库

  • 相关阅读:
    【原理】【重点】异步回调的一些实现策略
    上下文传递
    洋码头全异步服务框架
    秒杀系统架构优化思路
    从urllib2的内存泄露看python的GC python引用计数 对象的引用数 循环引用
    jvisualvm All-in-One Java Troubleshooting Tool
    小心踩雷,一次Java内存泄漏排查实战
    django 请求处理流程 链路追踪
    存储过程
    Dijkstra's algorithm
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5760189.html
Copyright © 2011-2022 走看看