UIImagePickerController

一.属性

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
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Story51314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值