相机

相机

1.
2.
3.#import "ViewController.h"
4.
5.@interface ViewController () <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
6.@property (weak, nonatomic) IBOutlet UIImageView *myImageView;
7.
8.@end
9.
10.@implementation ViewController
11.
12.- (void)viewDidLoad {
13. [super viewDidLoad];
14.
15.
16.}
17.
18.- (IBAction)okButtonClicked:(UIButton *)sender {
19. // 创建一个使用相机或相册的视图控制器
20. UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
21.
22.
23.
24. // 判断相机能否使用
25. if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
26. // 如果相机可以使用就将相机设置为图像源
27. ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
28.
29. // 如果要进行视频录制必须先制定媒体类型支持视频录制
30. ipc.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
31. }
32. else {
33. // 如果相机无法使用就使用相册
34. ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
35. }
36.
37. // 绑定委托
38. ipc.delegate = self;
39.
40. // 允许编辑图片
41. ipc.allowsEditing = YES;
42.
43. // 以模态方式显示相机/相册视图控制器
44. [self presentViewController:ipc animated:YES completion:nil];
45.}
46.
47.- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
48. NSLog(@"%@", info);
49.
50.
51. // 如果录制视频的话可以通过info字典取到视频录制的文件的URL
52. // 通过[url path]取到URL对应的文件路径
53. // 上面的URL指向的位置是应用程序的沙箱,但建议将视频文件保存到系统相册中
54. // UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(path)函数可以
55. // 检查是否可以将视频保存到相册中,如果该方法返回YES则可以调用
56. // UISaveVideoAtPathToSavedPhotosAlbum(path, ...)函数
57. // 将视频文件保存到相册中
58.
59. self.myImageView.image = info[UIImagePickerControllerOriginalImage];
60.
61. [self dismissViewControllerAnimated:YES completion:nil];
62.}
63.
64.- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
65. NSLog(@"取消选择!!!");
66.}
67.
68.@end
69.
70.
71.
 
posted @ 2016-02-23 22:02  Emerys  阅读(263)  评论(1编辑  收藏  举报