MediaPickerManager 0.0.4

MediaPickerManager 0.0.4

测试测试通过
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年9月

维护者:Jérôme Morissard



  • Morissard Jérome
  • 允许简化 UIImagePickerController 的使用,
  • 无需操作 UIPopoverController 或 UIActionSheet
  • 增加代码清晰度,
  • iPad 和 iPhone 支持。

发布说明

v0.0.3 : 框架本地化 + 包生成 v0.0.2 : 重构

可共享的对象

[MediaPickerManager sharedInstance]

用于配置 mediaPicker 的枚举

typedef NS_OPTIONS(NSInteger,  JMMediaType) {
    JMMediaTypeCameraPhoto = 0,
    JMMediaTypeCameraVideo = 1 << 0,
    JMMediaTypeLibraryPhoto = 1 << 1,
    JMMediaTypeLibraryVideo = 1 << 2,
    JMMediaTypeCamera = JMMediaTypeCameraPhoto | JMMediaTypeCameraVideo,
    JMMediaTypeLibrary = JMMediaTypeLibraryPhoto | JMMediaTypeLibraryVideo,
    JMMediaTypePhotos = JMMediaTypeCameraPhoto | JMMediaTypeLibraryPhoto,
    JMMediaTypeVideos = JMMediaTypeCameraVideo | JMMediaTypeLibraryVideo,
    JMMediaTypeAll = JMMediaTypeCamera | JMMediaTypeLibrary,
};

用于配置 ImagePicker 展示的枚举

typedef NS_ENUM(NSInteger,  JMMediaPresentationStyle) {
    JMMediaPresentationStylePresentModal,
    JMMediaPresentationStyleAddSubView,
    JMMediaPresentationStyleCustom
};

使用...使用协议非常简单

@protocol JMMediaPickerManagerDelegate <NSObject>
- (void)imagePickerControllerDidFinishPickingMediaWithInfo:(NSDictionary *)info;
@optional
- (void)customPresentImagePicker:(UIViewController *)controller;
- (void)customDismissImagePicker:(UIViewController *)controller;
@end
#import "MediaPickerManager.h"

- (IBAction)photoSelected:(id)sender 
{
    [MediaPickerManager sharedInstance].type = JMMediaTypePhotos;
    [MediaPickerManager sharedInstance].delegate = self;
    [[MediaPickerManager sharedInstance] presentPhotosFrom:sender];
}

#pragma mark JMMediaPickerManagerDelegate

- (void)imagePickerControllerDidFinishPickingMediaWithInfo:(NSDictionary *)info
{
    NSLog(@"%s",__FUNCTION__);

    NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    if ( [mediaType isEqualToString:@"public.movie" ])
    {
        NSLog(@"Picked a movie at URL %@",  [info objectForKey:UIImagePickerControllerMediaURL]);
        NSURL *url =  [info objectForKey:UIImagePickerControllerMediaURL];

    }
    else {
        UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];
    }
}