调用系统相机和相册 (iPad,iPhone)
打开相机:(iPad,iPhone)
//先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库  
    UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;  
//    if (![UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {  
//        sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  
//    }  
    //sourceType = UIImagePickerControllerSourceTypeCamera; //照相机  
    //sourceType = UIImagePickerControllerSourceTypePhotoLibrary; //图片库  
    //sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片  
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化  
    picker.delegate = self;  
    picker.allowsEditing = YES;//设置可编辑  
    picker.sourceType = sourceType;  
    [self presentModalViewController:picker animated:YES];//进入照相界面  
    [picker release];

打开相册:(区分pad和iphone)for iphone:
UIImagePickerController *pickerImage = [[UIImagePickerController alloc] init];  
    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {  
        pickerImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  
        //pickerImage.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;  
        pickerImage.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:pickerImage.sourceType];  
          
    }  
    pickerImage.delegate = self;  
    pickerImage.allowsEditing = NO;  
    [self presentModalViewController:pickerImage animated:YES];  
    [pickerImage release];

打开相册for ipad:
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  
    //sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片  
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];  
    picker.delegate = self;  
    picker.allowsEditing = NO;//是否允许编辑  
    picker.sourceType = sourceType;  
    /* 
     如果从一个导航按钮处呈现,使用: 
     presentPopoverFromBarButtonItem:permittedArrowDirections:animated:; 
     如果要从一个视图出呈现,使用: 
     presentPopoverFromRect:inView:permittedArrowDirections:animated: 
      
     如果设备旋转以后,位置定位错误需要在父视图控制器的下面方法里面重新定位: 
     didRotateFromInterfaceOrientation:(在这个方法体里面重新设置rect) 
     然后再次调用: 
     - (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated              
     */  
    //UIPopoverController只能在ipad设备上面使用;作用是用于显示临时内容,特点是总是显示在当前视图最前端,当单击界面的其他地方时自动消失。  
    UIPopoverController *popover = [[UIPopoverController alloc]initWithContentViewController:picker];  
    self.imagePicker = popover;  
    //permittedArrowDirections 设置箭头方向  
    [self.imagePicker presentPopoverFromRect:CGRectMake(0, 0, 300, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];  
    [picker release];  
    [popover release];

点击相册中的图片 货照相机照完后点击use
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

点击cancel 调用的方法
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

注意:需要添加@property (nonatomic, retain) UIPopoverController *imagePicker;

iOS开发 调用系统相机和相册的更多相关文章

  1. iOS开发 调用系统相机和相册 分类: ios技术 2015-03-30 15:52 65人阅读 评论(0) 收藏

     调用系统相机和相册 (iPad,iPhone) 打开相机:(iPad,iPhone) //先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为 ...

  2. Android调用系统相机和相册并解决data为空,OOM,图片角度不对的问题

    最近公司项目用到手机拍照的问题,好不容易在网上copy了一些代码,但是运行起来一大堆bug,先是三星手机上运行程序直接崩掉,debug了一下原来是onActivityResult中data返回为空,找 ...

  3. ios开发-调用系统自带手势

    在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touchesEnded 这组方法来控制使用者的手指触控外,也可以用 UIGestureR ...

  4. ios开发之--从相机或相册选取图片,并带删除操作的demo

    多选图片的一个效果,如下图:

  5. iOS中 读取相册,调用系统相机 技术分享

    技术内容:分别读取相册以及调取相机,将图片显示到imageView上 布局: 1.创建imageView 和 button 并为button一个关联pickerImage的事件 <div sty ...

  6. Android7.0调用系统相机拍照、读取系统相册照片+CropImageView剪裁照片

    Android手机拍照.剪裁,并非那么简单 简书地址:[我的简书–T9的第三个三角] 前言 项目中,基本都有用户自定义头像或自定义背景的功能,实现方法一般都是调用系统相机–拍照,或者系统相册–选择照片 ...

  7. Android 调用系统相机拍照保存以及调用系统相册的方法

    系统已经有的东西,如果我们没有新的需求的话,直接调用是最直接的.下面讲讲调用系统相机拍照并保存图片和如何调用系统相册的方法. 首先看看调用系统相机的核心方法: Intent camera = new ...

  8. 【踩坑速记】MIUI系统BUG,调用系统相机拍照可能会带给你的一系列坑,将拍照适配方案进行到底!

    一.写在前面 前几天也是分享了一些学习必备干货(还没关注的,赶紧入坑:传送门),也好久没有与大家探讨技术方案了,心里也是挺痒痒的,这不,一有点闲暇之时,就迫不及待把最近测出来的坑分享给大家. 提起An ...

  9. android调用系统相机并获取图片

    如果不是特别的要求,通过拍照的方式取得图片的话,我们一般调用系统的拍照来完成这项工作,而没必要再自己去实现一个拍照功能.调用系统相机很简单,只需要一个intent就可以跳转到相几界面,然后再通过onA ...

随机推荐

  1. python 压缩 解压缩 文件

    1. 用zipfile模块打包文件或是目录.解压zip文件 http://wangwei007.blog.51cto.com/68019/1045577 #!/usr/bin/env python # ...

  2. HDU - 2502 Subway

    题目链接:http://poj.org/problem?id=2502 分析: 告诉一些地铁线路,从起点到终点,中途可以步行,可以坐地铁,找一条最短的路 主要是把图建立好,然后直接dijkstra或者 ...

  3. 用Eclipse 统计代码行数小技巧

    今天公司SQA问我目前项目代码行数有多少,我当时就是想,以前好像写过类似的统计工具但是一时又找不到 公司网络又不能下载,所以想想eclipse是不是又类似功能,找了下没有,但突然一想有一个转弯方法:统 ...

  4. ERROR CL .exe……错误

    这个错误遇见了两次,一次是在装VC时,解决办法见 这个 还有一次是VS2012时,遇见了: error MSB6006: “CL.exe”已退出,代码为 -1073741515. 解决办法:Add t ...

  5. Hibernate的generator属性

    本文讲述Hibernate的generator属性的意义.Generator属性有7种class,本文简略描述了这7种class的意义和用法. <class name="onlyfun ...

  6. JAVA Timer定时器使用方法(一)

    设置定时任务很简单,用Timer类就搞定了. 一.延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行. 代码如下:package test;i ...

  7. 升级版本后报这个异常 : org.springframework.beans.factory.NoUniqueBeanDefinitionException

    今天写代码时出现上面这个异常,很是奇怪.从网上下载了个Spring源码包,通过追踪源码发现并没有到加载工程代码中去.于是分析和Spring包有关系. 查看依赖库发现有两个版本的Spring.通过分析去 ...

  8. HDU 5522 Numbers

    水题 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> us ...

  9. java中创建多线程的方式

    在java中比较常用的有三种创建多线程的方式. 方式一:继承Thread类,要重写run方法. 在MyThread类 public class MyThread extends Thread { @O ...

  10. shell中break 与 continue

    在学习中我看到不单单有break和continue的存在,还有break -n  和  continue -n 的存在  那么它们有什么区别呢. 这时可以写出测设代码: for i in a b c ...