WSAssetPickerController@tonyzonghui 0.0.1

WSAssetPickerController@tonyzonghui 0.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布时间上次发布时间2014 年 12 月

未知的拥有者 维护。



  • 作者
  • 张宗辉

注意:这是一个从 w5mith/WSAssetPickerController 分支出来的。这个版本对图像选择器控制器进行了修改,允许预先选择(图像选择器视图中显示的一些图像被选中)。

您可以使用这个版本配合 Cocoapods

pod '

描述

这是一个 iOS、Objective-C 的 UIImagePickerController 替代方案,外观几乎完全相同,但提供了选择多个图像的能力。它的设置和使用与 UIImagePickerController 一样简单,并且可以适应纵向和横向两种方向。需要添加 AssetsLibrary.framework。此代码使用 ARC

注意:使用 AssetsLibrary.framework 将会提示用户允许使用他们的位置数据以访问他们的照片。

添加到您的项目

有几种方法可以将 WSAssetPickerController 添加到您的项目中。

选项 1: 构建并将静态库添加到您的项目中

  1. 打开示例项目
  2. 选择 WSAssetPickerCombined 构建方案
  3. 在菜单栏中,选择 Product > Build
  4. 将生成的 WSAssetPicker 目录(位于项目目录下的构建文件夹)复制到您的项目中。
  5. 确保 libWSAssetPicker-Combined.a 被添加到您的目标的构建阶段

选项 2:src 目录下的所有文件复制到您的项目中,并确保勾选“将项目复制到目标组的文件夹”

选项 3: 您也可以通过 CocoaPods 获取代码(感谢 @AlexIzvekov

使用

  1. 使用 #import "WSAssetPicker.h" 导入头文件
  2. 传入一个类型为 id <WSAssetPickerControllerDelegate> 的代理创建 WSAssetPickerController 的实例
  3. 显示 WSAssetPickerController 实例
  4. 实现代理方法
  5. 您还需要包含选择状态的 png 文件:WSAssetViewSelectionIndicator.png 和其他,或者自己创建。

初始化和显示

WSAssetPickerController *controller = [[WSAssetPickerController alloc] initWithDelegate:self];
[self presentViewController:controller animated:YES completion:NULL];

代理方法

- (void)assetPickerControllerDidCancel:(WSAssetPickerController *)sender
{
    // Dismiss the WSAssetPickerController.
    [self dismissViewControllerAnimated:YES completion:NULL];
}

- (void)assetPickerController:(WSAssetPickerController *)sender didFinishPickingMediaWithAssets:(NSArray *)assets
{
    // Hang on to the picker to avoid ALAssetsLibrary from being released (see note below).
    self.picker = sender;

    // Dismiss the WSAssetPickerController.
    __block id weakSelf = self;
    [self dismissViewControllerAnimated:YES completion:^{

        // Do something with the assets here.


        // Release the picker.
        [weakSelf setPicker:nil];
    }];
}

注意:在assets数组中的ALAsset对象仅在它们所属的ALAssetsLibrary实例仍然存在时有效。(ALAssetsLibrary是在选择控制器实现中创建的)