要先给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