以下是iOS调用相册和摄像头的代码,请参考。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
-
(void)viewDidLoad { [ super
viewDidLoad]; //
Do any additional setup after loading the view. UIImageView
*imageView = [[UIImageView alloc] init]; imageView.frame
= CGRectMake(0, 0, 80, 120); imageView.backgroundColor
= [UIColor greenColor]; imageView.tag
= 101; [self.view
addSubview:imageView]; UIButton
*button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame
= CGRectMake(0, 200, 100, 30); [button
setTitle:@ "打开相册"
forState:UIControlStateNormal]; [button
addTarget:self action:@selector(openPics) forControlEvents:UIControlEventTouchUpInside]; [self.view
addSubview:button]; UIButton
*button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button2.frame
= CGRectMake(0, 300, 100, 30); [button2
setTitle:@ "打开相机"
forState:UIControlStateNormal]; [button2
addTarget:self action:@selector(openCamera) forControlEvents:UIControlEventTouchUpInside]; [self.view
addSubview:button2]; } //
打开相机 -
(void)openCamera { //
UIImagePickerControllerCameraDeviceRear 后置摄像头 //
UIImagePickerControllerCameraDeviceFront 前置摄像头 BOOL
isCamera = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear]; if
(!isCamera) { NSLog(@ "没有摄像头" ); return
; } UIImagePickerController
*imagePicker = [[UIImagePickerController alloc] init]; imagePicker.sourceType
= UIImagePickerControllerSourceTypeCamera; imagePicker.delegate
= self; //
编辑模式 imagePicker.allowsEditing
= YES; [self
presentViewController:imagePicker animated:YES completion:^{ }]; } //
打开相册 -
(void)openPics { UIImagePickerController
*imagePicker = [[UIImagePickerController alloc] init]; imagePicker.sourceType
= UIImagePickerControllerSourceTypePhotoLibrary; imagePicker.delegate
= self; [self
presentViewController:imagePicker animated:YES completion:^{ }]; } //
选中照片 -
(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ NSLog(@ "%@" ,
info); UIImageView
*imageView = (UIImageView *)[self.view viewWithTag:101]; //
UIImagePickerControllerOriginalImage 原始图片 //
UIImagePickerControllerEditedImage 编辑后图片 UIImage
*image = [info objectForKey:UIImagePickerControllerEditedImage]; imageView.image
= image; [picker
dismissViewControllerAnimated:YES completion:NULL]; } //
取消相册 -
(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { [picker
dismissViewControllerAnimated:YES completion:NULL]; } |