记得添加MobileCoreServices.framework

及导入#import <MobileCoreServices/MobileCoreServices.h>

 @interface PPViewController ()<UIActionSheetDelegate,UINavigationControllerDelegate, UIImagePickerControllerDelegate>

 {

     UIImagePickerController *_pickerController;

 }

 @property (weak, nonatomic) IBOutlet UIImageView *imageView;

 @end

 @implementation PPViewController

 - (void)viewDidLoad

 {

     [super viewDidLoad];

     _pickerController = [[UIImagePickerController alloc] init];

     _pickerController.delegate = self;//设置代理

     _pickerController.allowsEditing = YES;//图片可编辑(放大缩小)

 }

 - (IBAction)choseImage:(id)sender

 {

     // 判断是否有相机

     if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])

     {

         //判断是否能摄像

         if ([[UIImagePickerController availableMediaTypesForSourceType:_pickerController.sourceType] containsObject:(NSString *)kUTTypeMovie])

         {

             _pickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

             UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"cancel" destructiveButtonTitle:nil otherButtonTitles:@"相册",@"相机",@"摄像机", nil];

             sheet.tag = ;

             [sheet showInView:self.view];

         }

         else

         {

             UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"cancel" destructiveButtonTitle:nil otherButtonTitles:@"相机",@"相册", nil];

             sheet.tag = ;

             [sheet showInView:self.view];

         }

     }

     else

     {//模拟器

         UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"cancel" destructiveButtonTitle:nil otherButtonTitles:@"相册", nil];

         sheet.tag = ;

         [sheet showInView:self.view];

     }

 }

 #pragma mark- UIActionSheet的代理方法

 - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex

 {

     if (actionSheet.tag == )

     {

         switch (buttonIndex)

         {

             case :

             {

                 _pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

                 _pickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];

                 [self presentViewController:_pickerController animated:YES completion:nil];

             }

                 break;

             case :

             {

                 _pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

                 _pickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];

                 [self presentViewController:_pickerController animated:YES completion:nil];

             }

                 break;

             default:

                 break;

         }

     }

     if (actionSheet.tag == )

     {

         switch (buttonIndex)

         {

             case :

             {

                 _pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

                 _pickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];

                 [self presentViewController:_pickerController animated:YES completion:nil];

             }

                 break;

             case :

             {

                 _pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

 //                _pickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];

                 [self presentViewController:_pickerController animated:YES completion:nil];

             }

                 break;

             case :

             {

                 _pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

                 //        pickController.videoQuality = UIImagePickerControllerQualityTypeLow;//可以选择图片质量

                 _pickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

                 [self presentViewController:_pickerController animated:YES completion:nil];

             }

             default:

                 break;

         }

     }

     if (actionSheet.tag == )

     {

         if (buttonIndex == )

         {

             _pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

 //            _pickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];

             [self presentViewController:_pickerController animated:YES completion:nil];

         }

     }

 }

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

 {

     NSLog(@"========%@",info);//返回的值都在info里面

     if ([[info objectForKey:UIImagePickerControllerMediaType] isEqualToString:(NSString *)kUTTypeMovie])

     {

         _imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfFile:(NSString *)[[info objectForKey:UIImagePickerControllerMediaURL] path]]];

     }

     else

     {

         _imageView.image = [info objectForKey:@"UIImagePickerControllerEditedImage"];

     }

     [self dismissViewControllerAnimated:YES completion:nil];

 }

 //如果这是一个modalViewController,需要dismiss 它发了个cancel消息,必须关闭它

 - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

 {

     [self dismissViewControllerAnimated:YES completion:nil];

 }

 /**

  *  {

  UIImagePickerControllerMediaType = "public.image";

  UIImagePickerControllerOriginalImage = "<UIImage: 0x7fe3a3dc2a20> size {1500, 1001} orientation 0 scale 1.000000";

  UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=B6C0A21C-07C3-493D-8B44-3BA4C9981C25&ext=JPG";

  }

  */

 /**

  *  {

  UIImagePickerControllerCropRect = "NSRect: {{0, 0}, {1500, 1003}}";

  UIImagePickerControllerEditedImage = "<UIImage: 0x7fec5c8145b0> size {638, 426} orientation 0 scale 1.000000";

  UIImagePickerControllerMediaType = "public.image";

  UIImagePickerControllerOriginalImage = "<UIImage: 0x7fec5c80d4c0> size {1500, 1001} orientation 0 scale 1.000000";

  UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=B6C0A21C-07C3-493D-8B44-3BA4C9981C25&ext=JPG";

  }

  */

ios中关于UIImagePickerController的一些知识总结的更多相关文章

  1. Android 和iOS 中关于View 的一点知识

    View的概念和方法十分重要,这里将对Android 和iOS中出现的,关于视图的一些知识点进行总结,预计文章会比较长,要许多时间慢慢补充. 先转载一部分资料,感谢原作者! 原链接为:http://b ...

  2. ios中改变UIImagePickerController页面的button的文字为中文

    可以在工程中直接 project-->info-->Localization native development region   赋值为 zh_CN

  3. iOS中多线程知识总结(一)

    这一段开发中一直在处理iOS多线程的问题,但是感觉知识太散了,所以就把iOS中多线程的知识点总结了一下. 1.基本概念 1)什么是进程?进程的特性是什么? 进程是指在系统中正在运行的一个应用程序.   ...

  4. iOS狂暴之路---iOS的第一个应用中能学到哪些知识

    一.前文回顾 在之前已经介绍了 iOS的学习路线图,因为中间遇到一些Android开发问题,所以就耽搁了一段时间,那么接下来的这段时间我们将继续开始iOS的狂暴之路学习,按照国际惯例,第一个应用当然是 ...

  5. ios 中使用https的知识

    先看文章,这篇文章说的是使用AFNetworing进行https时的事项,十分好!http://blog.cnbang.net/tech/2416/ ios中使用https,主要就是使用NSURLCr ...

  6. ios中摄像头/相册获取图片压缩图片上传服务器方法总结

    本文章介绍了关于ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结,有需要了解的同学可以参考一下下.     这几天在搞iphone上面一个应用的开发,里面有需要摄像头/相册编程和图片上传的问 ...

  7. Cordoval在iOS中的运用整理

    一:关于Cordoval理论知识 1:PhoneGap是手机平台上流行的一款中间件.它构建在各种手机平台所提供的WebView(浏览器内核)组件的基础之上,使用javascript语言对应用开发者提供 ...

  8. ios中的几种多线程实现

    iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法.下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式:1, Thread;2, Cocoa ...

  9. IOS中调用系统的电话、短信、邮件、浏览功能

    iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...

随机推荐

  1. C#6.0新特性之字符串嵌入 String Interpolation

    6.0增加了 字符串嵌入值 的新语法糖. 以前我们做拼接的时候,一般这样写 var s = string.Format("this is a {0} !!!" , class1.p ...

  2. hdu_5507_GT and strings(AC自动机)

    题目链接:hdu_5507_GT and strings 题意:给n个字符串和q个询问,每个询问给两个数字x,y,问1.x是否为y的子序列,2.x是否为y的子串,是输出1,否则输出0,每个询问输出2个 ...

  3. hdu_5810_Balls and Boxes(打表推公式)

    题目链接:hdu_5810_Balls and Boxes 题意: 如题,让你求那个公式的期望 题解: 打表找规律,然后推公式.这项技能必须得学会 #include<cstdio> #in ...

  4. linux命令readlink

    readlink,从字面意思就可以看出来,输出符号链接值或者权威文件名. openwrt 下的readlink命令参数如下: root@hbg:/# readlink  --helpBusyBox v ...

  5. openwrt源码下载地址(镜像)

    与openwrt.org的源码svn路径仅仅多了一个.cn svn://svn.openwrt.org.cn/openwrt/branches/backfiresvn://svn.openwrt.or ...

  6. UVALive 6948 Jokewithpermutation 深搜

    题意就是把一段序列拆成从1到n的形式 一开始暴力了一下 后来发现bug太多一定是思路不对…… #include<stdio.h> #include<iostream> #inc ...

  7. ZOJ 3702 Gibonacci number

    本来已经关上电脑了 但还是想打开电脑纪念一下这充实的一天…… 第一节高数课讲新课级数 讲完一个知识点 想问问女票今天咋又没来上课…… 突然发现院长问我自费去不去省赛…… !!! 当然是去啊! ……虽然 ...

  8. Chapter 14_2 全局变量声明

    Lua中的全局变量不需要声明就可以使用.对于小程序十分方便,但是大型程序中 一处简单的笔误就可能造成难以发现的bug. 不过,这种性能可以改变.由于Lua将全局变量放在一个普通的table中,可以通过 ...

  9. logrotate日志轮转配置文档

    转自:http://blog.163.com/bull_linux/blog/static/2138811422013101334544349/ 使用:    logrotate CONF_FILE+ ...

  10. ios系统下的QQ浏览器jquert的BUG

    $(document).bind("click", function(e){ var $t = $(e.target); alert(333); if($t.is("p& ...