DBAttachmentPickerController 1.1.4

DBAttachmentPickerController 1.1.4

测试测试
语言语言 Objective-CObjective C
许可证 MIT
发布最新发布2016年8月

Denis Bogatyrev维护。



  • 作者:
  • Denis Bogatyrev

这个强大的组件允许从您的设备上的不同来源选择不同类型的文件。

iCloud Documents Capability

预览

iCloud Documents Capability

要求

  • iOS 8.0+

添加到你的项目

源文件

要将DBAttachmentPickerController手动添加到您的项目中

  1. 使用git clone下载最新代码
  2. 在Xcode中打开您的项目,然后将“Source”文件夹的全部内容拖到项目中(当询问何时提取代码存档时,务必选中“复制项目项”)

用法

要在项目中使用DBAttachmentPickerController,您应该执行以下步骤

  1. 初始化附件选择控制器(请参阅构造函数部分
  2. 如需则指定额外的选项(请参阅属性列表部分
  3. 展示附件选择控制器(请参阅展示部分
- (void)addAttachment {
    // (1)
    DBAttachmentPickerController *attachmentPickerController = [DBAttachmentPickerController attachmentPickerControllerFinishPickingBlock:^(NSArray<DBAttachment *> * _Nonnull attachmentArray) {...} cancelBlock:^{...}];

    // (2)
    attachmentPickerController.mediaType = DBAttachmentMediaTypeImage | DBAttachmentMediaTypeVideo;
    attachmentPickerController.capturedVideoQulity = UIImagePickerControllerQualityTypeHigh;
    attachmentPickerController.allowsMultipleSelection = YES;
    attachmentPickerController.allowsSelectionFromOtherApps = YES;

    // (3)
    [attachmentPickerController presentOnViewController:self];
}

构造函数

要初始化附件选择控制器,您必须调用以下方法之一

  • +attachmentPickerControllerFinishPickingBlock:cancelBlock: - 创建并返回一个附件选择控制器。结果将在finishPickingBlock中返回DBAttachment对象的数组。DBAttachment类提供了更多处理选定文件的机会,但需要额外的处理才能获得结果;
  • +imagePickerControllerFinishPickingBlock:cancelBlock: - 创建并返回一个具有常量媒体类型(图像)的附件选择控制器。其他媒体类型将被忽略。结果将在finishPickingBlock中返回一组UIImage对象;
  • +videoPickerControllerFinishPickingBlock:cancelBlock: - 创建并返回一个具有常量媒体类型(视频)的附件选择控制器。其他媒体类型将被忽略。结果将在finishPickingBlock中返回根据来源而异的对象数组。需要额外的处理才能获得结果。

属性列表

您可以更改附加附件选择控制器的其他属性。以下显示了完整的属性列表:

  • UIView *senderView - 用于在iPad上运行时正确计算弹出视图的位置。您可以指定用户触摸的UIButton、UITableViewCell等实例。注意:参数必须只包含UIView子类的实例或nil;
  • DBAttachmentMediaType mediaType - 决定可以选择的附件类型。默认为DBAttachmentMediaTypeMaskAll;
  • UIImagePickerControllerQualityType capturedVideoQulity - 用于确定从相机捕获的视频质量。默认为UIImagePickerControllerQualityTypeMedium;
  • BOOL allowsSelectionFromOtherApps - 用于添加其他应用按钮。注意:要正确工作此选项,必须在项目设置中选中iCloud Documents功能。要查看详细信息,请参阅使用文档选择器部分。默认为NO。
  • BOOL allowsMultipleSelection - 用于在可能的情况下允许多选。默认为NO。

展示

创建Attachment Picker Controller后,如果需要,应设置其他选项(请参阅属性列表部分),然后展示它。

  • -presentOnViewController: - 在指定的UIViewController上展示附件选择控制器。

使用文档选择器(其他应用按钮)

要使用文档选择器,必须

  • AllowsSelectionFromOtherApps属性的值设置为YES
  • 在Xcode中打开iCloud Documents功能(请参阅后面的图片)

DBAttachment

该类包含关于选中项目的元数据。

您可以使用以下属性来获取文件的元数据

  • NSString *fileName - 文件名。可以为空;
  • NSDate *creationDate - 文件的创建日期。可以为nil;
  • NSUInteger fileSize - 文件大小(以字节为单位)。仅对现有文件有效。注意:如果您想获取PHAsset或类似对象的大小,您应该在获取文件数据后计算它;
  • NSString *fileSizeStr - 文件大小的格式化字符串。可以为空。

要获取缩略图图像,您应该调用以下方法:-loadThumbnailImageWithTargetSize:completion:。或者您可以通过方法-loadOriginalImageWithCompletion:获取原始图像。

您还可以通过调用适当的方法-originalFileResource获取原始文件数据。

版本历史

1.1.0

  • 添加了本地化。以下语言可用:英语(默认)、俄语、西班牙语、德语、法语、乌克兰语、简体中文和繁体中文以及日语。
  • 在DBAttachment类中添加了对方法和属性的说明。

联系方式

Denis Bogatyrev(维护者)

许可证

DBAttachmentPickerController - 版权(c)2016 Denis Bogatyrev

据此,任何人无需支付任何费用均可获得本软件的副本及其关联的文档文件(“软件”),在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可或出售软件副本,并允许软件的受让人执行上述操作,但受以下条件约束

上述版权声明和本许可声明应包含在软件的任何副本或实质性部分中。

本软件按“原样”提供,不提供任何形式的保证,包括但不限于适用性、特定目的的适用性和非侵权性保证。在任何情况下,作者或版权持有人不应对任何要求、损害或其他责任承担责任,无论这些责任源于合同行为、侵权或其他行为,以及与软件或软件的使用或其他使用有关的任何事件。