iOS從手機相簿選擇一張照片並顯示 Objective-C,iosobjective-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