码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 调取iPhone本地相册和开启相机

时间:2015-07-29 06:40:39      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:ios 调取iphone图片库;开启摄像头

调取本地图片传输到其他的页面,在方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; 中,info为字典值,期中包含你所选择的图片的URL值,可以通过URL值进行传值操作,下面为具体代码:

.h文件

#import <UIKit/UIKit.h>



//签订协议
@interface ViewController : UIViewController<UINavigationControllerDelegate,UIImagePickerControllerDelegate>

@end




.m文件


#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    UIImageView *imageView = [[UIImageView alloc] init];

    imageView.frame = CGRectMake(80, 50, 200, 120);

    imageView.backgroundColor = [UIColor greenColor];

     imageView.tag = 1001;

    [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;

    imagePicker.allowsEditing =YES;

    [self  presentViewController:imagePicker animated:YES completion:^{

    }];       

}

// 选中照片



- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

    NSLog(@"%@", info);

    UIImageView  *imageView = (UIImageView *)[self.view viewWithTag:1001];

    // UIImagePickerControllerOriginalImage 原始图片

    // UIImagePickerControllerEditedImage 编辑后图片

    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];

    imageView.image = image;

    [picker dismissViewControllerAnimated:YES completion:NULL];

    

}

// 取消相册

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {

    [picker dismissViewControllerAnimated:YES completion:NULL];

   }

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end

本文出自 “ios” 博客,请务必保留此出处http://10136044.blog.51cto.com/10126044/1679368

iOS 调取iPhone本地相册和开启相机

标签:ios 调取iphone图片库;开启摄像头

原文地址:http://10136044.blog.51cto.com/10126044/1679368

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!