调用系统相机和相册 (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. IE6下绝对定位元素和浮动元素并列绝对定位元素消失

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. java 面向抽象编程的思想

    SIM.java public abstract class SIM { public abstract void setNumber(String n); public abstract Strin ...

  3. thinkPHP17---操作绑定到类

    首先要配置: "ACTION_BIND_CLASS"=>"TRUE"; 控制器类的定义如下: namespace Home\Controller\Inde ...

  4. js 基础对象一

    JavaScript 通常用于操作 HTML 元素. Document元素 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页 ...

  5. HDU 3346 Lucky Number

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

  6. nodejs实践-MongoDB

    nodejs实践-MongoDB laiqun@msn.cn Contents 1. 特点: 2. 开始使用 3. 使用Mongoose操作MongoDB 4. 在express中使用,组织数据库相关 ...

  7. VS2010 C#调用C++ DLL文件

    http://www.soaspx.com/dotnet/csharp/csharp_20110406_7469.html http://www.cnblogs.com/warensoft/archi ...

  8. Zabbix之配置文件详解

    zabbix的配置文件一般有三种:zabbixserver的配置文件zabbix_server.confzabbixproxy的配置文件zabbix_proxy.confzabbix_agentd的配 ...

  9. ubuntu上面安装eclipse android到adt下载方法

    如果自动安装有问题的话,就需要手动安装,其实是差不多的,唯一不同的就是手动下载ADT插件包,http://dl.google.com/android/ADT-0.9.6.zip ,可以下载到. 版本号 ...

  10. 我也谈 AngularJS 怎么使用Directive, Service, Controller

    原文地址:http://sunqianxiang.github.io/angularjs-zen-yao-shi-yong-directiveservicecontroller.html 其转自大漠穷 ...