zoukankan      html  css  js  c++  java
  • Ios 一个很好用的图片选择器

     每次访问相册 都是一个 难看的画面 对我来说已经受不了了  去code4app  去cocoachina  有的现在下来 不好用 

    今天同事 找到一个 图片选择器 懂得来说 效果 好不错 当然 介于我们自己项目的需要  会对内部做一些修改  不过 我还是吧原生的分享得大家 你们可以根据自己的需要修改 总的用法不难

       TZImagePickerController *imageVC = [[TZImagePickerController alloc]initWithMaxImagesCount:9 columnNumber:3 delegate:self pushPhotoPickerVc:YES];

        // 1、是否允许选择原图

        imageVC.isSelectOriginalPhoto = NO;

        // 2、在内部显示拍照按钮

        imageVC.allowTakePicture = YES;

        // 3. 设置是否可以选择视频/图片/原图

        imageVC.allowPickingVideo = YES;

        imageVC.allowPickingImage = YES;

        imageVC.allowPickingOriginalPhoto = YES;

        // 4. 照片排列按修改时间升序

        imageVC.sortAscendingByModificationDate = YES;

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

    顺便告诉你   图片每次最多选择9张   视频只能选一个  妈的 这个博客能放文件共享吗    在哪里  我曹 怎么分享文件

     我先把 用法贴出来 当然 我们只用了一些 需要的  遵循代理  干过ios的 都会吧          别告诉我  tableview代理 textview代理  没遵循过 那你用的是什么 我就不呵呵了          遵循  TZImagePickerControllerDelegate

     #pragma mark <TZImagePickerControllerDelegate>代理

    - (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto{

     photos 是选择图片 传回来的UIImage 数组  想要拿到它 放到自己的数据源里面  就建一个全局数组接受吧

       assets  这个是原始对象  要解析他 才能获取到具体的 路径   会累死你的  我们当时就是视频地址获取 累死

    }

    - (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingVideo:(UIImage *)coverImage sourceAssets:(id)asset{

      coverImage 视频的第一帧图片   你知道不  我们都知道视频是图片按帧组成的   举个牛逼的例子  你打英雄联盟的时候   fps是什么      每秒帧数      就是一秒有多少张图片刷新   想一下 fps是3  每秒三张图片 是不是卡死你  fps  是200  每秒200张图片    连在一起播放出来 你能卡吗  (id)asset    解析获取视频在手机里的地址

     [self getAsset:self.selectedAsset resultHandler:^(NSURL *url) {

            weakself.videoFileURL = url.absoluteString;  可以把它转成字符串 接收出来  如果NSURL 可能失败 因该是苹果内部坐了处理  

        }];

    }

    #pragma mark 视频地址获取

    - (void)getAsset:(id)asset resultHandler:(void (^)(NSURL *url))resultHandler {

        if ([asset isKindOfClass:[PHAsset class]]) {

            PHVideoRequestOptions* options = [[PHVideoRequestOptions alloc] init];

            options.version = PHVideoRequestOptionsVersionOriginal;

            options.deliveryMode = PHVideoRequestOptionsDeliveryModeAutomatic;

            options.networkAccessAllowed = YES;

            [[PHImageManager defaultManager] requestAVAssetForVideo:asset options:options resultHandler:^(AVAsset* avasset, AVAudioMix* audioMix, NSDictionary* info){

                AVURLAsset *videoAsset = (AVURLAsset*)avasset;

                resultHandler(videoAsset.URL);

            }];

        } else if ([asset isKindOfClass:[ALAsset class]]) {

            resultHandler([asset valueForProperty:ALAssetPropertyAssetURL]); // ALAssetPropertyURLs

        }

    }

     我曹    你们能看见吗    看不见的活  谭真大佬的git地址         https://github.com/banchichen/TZImagePickerController/

  • 相关阅读:
    [原创]全新IFPGA-Cable----支持Xilinx/Altera/Lattice JTAG和UART
    [原创]Modelsim后仿真
    [原创]iFPGA-USB2.0 FT2232H USB & UART开发板使用说明
    [原创]X-HDL 4.2安装与使用
    [原创][Synth 8-2543] port connections cannot be mixed ordered and named ["*_Top.v":1151]
    [原创]..OBJgpio.axf: error: L6002U: Could not open file ..objgpio.o: No such file
    [原创]Zynq SDIO WIFI SotfAP调试
    [原创]时序图新画法
    [原创]基于Zynq SDIO WIFI 2.4G/5G SotfAP STA
    [原创]Zynq AXI-CDMA的使用
  • 原文地址:https://www.cnblogs.com/lxgblog/p/6028105.html
Copyright © 2011-2022 走看看