这是一个库,它使用 iOS Photos 框架在 iOS 8 或更高版本中通过 iOS 相册选择单张或多张照片。我在我的应用程序Delightful app中使用了这个库。
在此处尝试浏览器中的示例应用程序这里。
pod 'DLFPhotosPicker'
或将 Source
文件夹中的所有文件复制到项目中。DLFPhotosPickerViewController
DLFPhotosPickerViewController *picker = [[DLFPhotosPickerViewController alloc] init];
[picker setPhotosPickerDelegate:self];
[self presentViewController:picker animated:YES completion:nil];
#pragma mark - DLFPhotosPickerViewControllerDelegate
- (void)photosPickerDidCancel:(DLFPhotosPickerViewController *)photosPicker {
[photosPicker dismissViewControllerAnimated:YES completion:nil];
}
- (void)photosPicker:(DLFPhotosPickerViewController *)photosPicker detailViewController:(DLFDetailViewController *)detailViewController didSelectPhotos:(NSArray *)photos {
NSLog(@"selected %d photos", photos.count);
[photosPicker dismissViewControllerAnimated:YES completion:nil];
}
- (void)photosPicker:(DLFPhotosPickerViewController *)photosPicker detailViewController:(DLFDetailViewController *)detailViewController configureCell:(DLFPhotoCell *)cell indexPath:(NSIndexPath *)indexPath asset:(PHAsset *)asset {
// customize the cell based on index path and asset. For example, to mark if the asset has been uploaded.
}
- (void)photosPicker:(DLFPhotosPickerViewController *)photosPicker detailViewController:(DLFDetailViewController *)detailViewController didSelectPhoto:(PHAsset *)photo {
[photosPicker dismissViewControllerAnimated:YES completion:^{
[[PHImageManager defaultManager] requestImageForAsset:photo targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeDefault options:nil resultHandler:^(UIImage *result, NSDictionary *info) {
NSLog(@"Selected one asset");
}];
}];
}
SampleViewController
类。multipleSelections
。默认值:YES。将此设置为 NO 以只选择一张照片。当此属性设置为 NO 时,将调用代理的 photosPicker:detailViewController:didSelectPhoto:
。实现该方法以处理所选资产,然后关闭照片选择器。
Nico Prananta @nicnocquee
如果您的应用程序中使用了该库,请告知我 :)
MIT。