iOS从手机相册选择一张照片并显示 Objective-C

 

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

 

posted @ 2017-09-06 18:06  sysu_huangwei  阅读(6510)  评论(0编辑  收藏  举报