CTAssetsPickerController 3.3.2-alpha

CTAssetsPickerController 3.3.2-alpha

测试已测试
语言语言 Objective-CObjective C
许可证 MIT
发布最后发布2016年4月

Clement T维护。




简介

CTAssetsPickerController是一个高度可定制的iOS控制器,允许用户从相册中选择多张图片和视频。它的使用方式和外观与UIImagePickerController相似。它使用了ARC并需要Photos框架。

Screenshot Screenshot 2

功能

  1. 从用户的库中跨专辑选择多张图片和视频。
  2. 通过长按手势预览资产。
  3. 根据需要选择仅图片或视频的资产。
  4. 根据属性过滤资产或专辑。
  5. 支持存储在iCloud中的资产。
  6. 支持多种语言
  7. 可选地显示选择顺序。
  8. 平均5倍fps。
  9. 遵循UIAppearance协议。
  10. 遵循UIAccessibility协议。
  11. 高度可定制。
  12. 纯Auto Layout。(感谢PureLayout的出色工作)

发布说明

最低要求

iOS 9 SDK,最低部署目标iOS 8.0

添加到您的项目

  1. CocoaPods Podfile

    platform :ios, '8.0'
    pod 'CTAssetsPickerController',  '~> 3.3.0'
    
  2. 手动设置

用法

  1. 导入头文件

    #import <CTAssetsPickerController/CTAssetsPickerController.h>
  2. 创建并展示CTAssetsPickerController

    // request authorization status
    [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status){
        dispatch_async(dispatch_get_main_queue(), ^{
    
            // init picker
            CTAssetsPickerController *picker = [[CTAssetsPickerController alloc] init];
    
            // set delegate
            picker.delegate = self;
    
            // Optionally present picker as a form sheet on iPad
            if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
                picker.modalPresentationStyle = UIModalPresentationFormSheet;
    
            // present picker
            [self presentViewController:picker animated:YES completion:nil];
        });
    }];
  3. 实现didFinishPickingAssets委托

    如果使用presentViewController:animated:completion:方法展示选择器,那么委托负责在操作完成后关闭选择器。

    - (void)assetsPickerController:(CTAssetsPickerController *)picker didFinishPickingAssets:(NSArray *)assets
    {
    // assets contains PHAsset objects.
    }

问题、问题和建议

请查阅wikiissues了解常见问题和疑问。如果您遇到特定于选择器的问题,请打开新问题。错误报告和拉取请求始终欢迎。

附加内容

您可以使用选择器的预览功能来查看任何资产。只需使用资产数组初始化一个 CTAssetsPageViewController 并分配 pageIndex 属性。请参考 演示应用 以获取详细信息。

NSArray *assets = @[asset1, asset2, asset3, ...];
CTAssetsPageViewController *vc = [[CTAssetsPageViewController alloc] initWithAssets:assets];
vc.pageIndex = assets.count - 1; // display the last asset 

[self.navigationController pushViewController:vc animated:YES];

文档

许可

MIT 许可协议 (MIT)

版权所有 (c) 2015 梁志聪

在此特此授予任何获得此软件及其相关文档文件副本(“软件”)的人未经限制地处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、转授以及/或销售软件副本,并允许软件的提供者这样做的任何人,但以以下条件为限:

上述版权声明和本许可声明应包含在软件或其实际部分的复制中。

本软件按“现状”提供,不提供任何形式的担保,明示或暗示,包括但不限于适销性、适用于特定目的和无侵犯第三方权利的担保。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论这些责任是由于合同、侵权或其他方式引起的,这些责任来源于、有关或与本软件的使用或其他交易有关。