UIImagePickerController

来源:互联网 发布:网络运营需要什么技术 编辑:程序博客网 时间:2024/06/10 16:11

一.属性

1.图片来源

(1)sourceType属性

// default value is UIImagePickerControllerSourceTypePhotoLibrary.@property(nonatomic) UIImagePickerControllerSourceType sourceType; 

(2)UIImagePickerControllerSourceType

typedef NS_ENUM(NSInteger, UIImagePickerControllerSourceType) {    UIImagePickerControllerSourceTypePhotoLibrary,    UIImagePickerControllerSourceTypeCamera,    UIImagePickerControllerSourceTypeSavedPhotosAlbum} __TVOS_PROHIBITED;

2.允许预览图片

allowsEditing属性

// replacement for -allowsImageEditing; default value is NO.@property(nonatomic) BOOL allowsEditing;     

3.代理

(1)delegate属性

@property(nullable,nonatomic,weak) id <UINavigationControllerDelegate,UIImagePickerControllerDelegate> delegate;

(2)UIImagePickerControllerDelegate协议方法

@protocol UIImagePickerControllerDelegate<NSObject>@optional// The picker does not dismiss itself; the client dismisses it in these callbacks.// The delegate will receive one or the other, but not both, depending whether the user// confirms or cancels.- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;@end

二.info dictionary keys

  • // an NSString (UTI, i.e. kUTTypeImage)
    NSString *const UIImagePickerControllerMediaType;
  • // a UIImage
    NSString *const UIImagePickerControllerOriginalImage;
  • // a UIImage
    NSString *const UIImagePickerControllerEditedImage;
  • // an NSValue (CGRect)
    NSString *const UIImagePickerControllerCropRect;
  • // an NSURL
    NSString *const UIImagePickerControllerMediaURL;
  • // an NSURL that references an asset in the AssetsLibrary framework
    NSString *const UIImagePickerControllerReferenceURL;
  • // an NSDictionary containing metadata from a captured photo
    NSString *const UIImagePickerControllerMediaMetadata;
  • // a PHLivePhoto
    NSString *const UIImagePickerControllerLivePhoto;

三.程序举例

初始化

UIImagePickerController *picker = [[UIImagePickerController alloc] init];    picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;    picker.delegate = self;    [self presentViewController:picker animated:true completion:nil];

实现代理方法
取消

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{    [picker dismissViewControllerAnimated:true completion:nil];}

选中图片

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];    [picker dismissViewControllerAnimated:true completion:nil];}
0 0
原创粉丝点击