要先给app设置访问相册的权限:
在项目的Info.plist文件里添加Privacy - Photo Library Usage Description权限
ViewController.h:
1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 { 5 IBOutlet UIImageView *myImageView; //与ImageView视图关联 6 } 7 8 9 - (IBAction)buttonUp:(id)sender; // 与一个Button关联 10 11 @end
ViewController.m:
1 #import "ViewController.h" 2 3 4 @interface ViewController ()<UINavigationControllerDelegate,UIImagePickerControllerDelegate>//接口 5 6 @end 7 8 @implementation ViewController 9 10 - (void)viewDidLoad { 11 [super viewDidLoad]; 12 // Do any additional setup after loading the view, typically from a nib. 13 } 14 15 16 - (void)didReceiveMemoryWarning { 17 [super didReceiveMemoryWarning]; 18 // Dispose of any resources that can be recreated. 19 } 20 21 22 - (IBAction)buttonUp:(id)sender { 23 //初始化UIImagePickerController类 24 UIImagePickerController * picker = [[UIImagePickerController alloc] init]; 25 //判断数据来源为相册 26 picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 27 //设置代理 28 picker.delegate = self; 29 //打开相册 30 [self presentViewController:picker animated:YES completion:nil]; 31 } 32 33 //选择完成回调函数 34 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ 35 //获取图片 36 UIImage *image = info[UIImagePickerControllerOriginalImage]; 37 [self dismissViewControllerAnimated:YES completion:nil]; 38 39 myImageView.image = image; 40 } 41 42 //用户取消选择 43 - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ 44 [self dismissViewControllerAnimated:YES completion:nil]; 45 } 46 47 48 @end