测试测试 | ✗ |
语言语言 | Objective-CObjective C |
许可证 | MIT |
发布最新发布 | 2016年8月 |
由Denis Bogatyrev维护。
这个强大的组件允许从您的设备上的不同来源选择不同类型的文件。
要将DBAttachmentPickerController手动添加到您的项目中
git clone
下载最新代码要在项目中使用DBAttachmentPickerController,您应该执行以下步骤
- (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该类包含关于选中项目的元数据。
您可以使用以下属性来获取文件的元数据
NSString *fileName
- 文件名。可以为空;NSDate *creationDate
- 文件的创建日期。可以为nil;NSUInteger fileSize
- 文件大小(以字节为单位)。仅对现有文件有效。注意:如果您想获取PHAsset或类似对象的大小,您应该在获取文件数据后计算它;NSString *fileSizeStr
- 文件大小的格式化字符串。可以为空。要获取缩略图图像,您应该调用以下方法:-loadThumbnailImageWithTargetSize:completion:
。或者您可以通过方法-loadOriginalImageWithCompletion:
获取原始图像。
您还可以通过调用适当的方法-originalFileResource
获取原始文件数据。
Denis Bogatyrev(维护者)
DBAttachmentPickerController - 版权(c)2016 Denis Bogatyrev
据此,任何人无需支付任何费用均可获得本软件的副本及其关联的文档文件(“软件”),在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可或出售软件副本,并允许软件的受让人执行上述操作,但受以下条件约束
上述版权声明和本许可声明应包含在软件的任何副本或实质性部分中。
本软件按“原样”提供,不提供任何形式的保证,包括但不限于适用性、特定目的的适用性和非侵权性保证。在任何情况下,作者或版权持有人不应对任何要求、损害或其他责任承担责任,无论这些责任源于合同行为、侵权或其他行为,以及与软件或软件的使用或其他使用有关的任何事件。