转载自:http://blog.csdn.net/like7xiaoben/article/details/8465237

  1. //先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库
  2. UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
  3. //    if (![UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
  4. //        sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  5. //    }
  6. //sourceType = UIImagePickerControllerSourceTypeCamera; //照相机
  7. //sourceType = UIImagePickerControllerSourceTypePhotoLibrary; //图片库
  8. //sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片
  9. UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化
  10. picker.delegate = self;
  11. picker.allowsEditing = YES;//设置可编辑
  12. picker.sourceType = sourceType;
  13. [self presentModalViewController:picker animated:YES];//进入照相界面
  14. [picker release];

打开相册:(区分pad和iphone)

for iphone:

  1. UIImagePickerController *pickerImage = [[UIImagePickerController alloc] init];
  2. if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
  3. pickerImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  4. //pickerImage.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
  5. pickerImage.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:pickerImage.sourceType];
  6. }
  7. pickerImage.delegate = self;
  8. pickerImage.allowsEditing = NO;
  9. [self presentModalViewController:pickerImage animated:YES];
  10. [pickerImage release];

for ipad:

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

点击相册中的图片 货照相机照完后点击use  后触发的方法

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

点击cancel 调用的方法

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

例子下载地址:http://download.csdn.net/download/like7xiaoben/4958356

IOS成长之路-调用照相机和相册功能(转)的更多相关文章

  1. IOS成长之路-调用照相机和相册功能

    打开相机: //先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库 UIImagePickerControllerSourceType ...

  2. 转:HTML5页面如何在手机端浏览器调用相机、相册功能

    HTML5页面如何在手机端浏览器调用相机.相册功能 开发微信端浏览器访问的HTML5的页面,页面中有一个<input id="input" type="file&q ...

  3. HTML5页面如何在手机端浏览器调用相机、相册功能

    最近在做一个公司的保险信息处理系统项目,开发微信端浏览器访问的HTML5的页面,页面中有一个<input id="input" type="file"/& ...

  4. iOS UIWebView 中 js调用OC 打开相册 获取图片, OC调用js 将图片加载到html上

    线上html <!DOCTYPE html> <html> <head> <title>HTML中用JS调用OC方法</title> < ...

  5. IOS成长之路-Xcode cannot run using the selected device. 解决办法

    PROJECT --> Info --> Deployment Target --> IOS Deployment Target  里面的值 要设置为  <=真机系统版本 TA ...

  6. IOS成长之路-Nsstring中搜索方法rangeOfString

    NSString *str1 = @"can you \n speak English"; NSString *str = @"\n"; //在str1这个字符 ...

  7. IOS成长之路-Nsstring搜索方法rangeOfString

    NSString *str1 = @"can you \n speak English"; NSString *str = @"\n"; //在str1该字符串 ...

  8. IOS成长之路-用NSXMLParser实现XML解析

    再次对xml进行解析,又有了些理解,如果有不对的地方,请给小弟指出,谢谢! <?xml version="1.0" encoding="UTF-8"?&g ...

  9. iOS成长之路-使用系统默认声音、震动

    导入框架 代码片段 apple系统默认声音名称说明: 1.声音格式是MP3或m4r的需要转成caf格式(可先转成aif , aiff,然后修改后缀) 2.路径在/System/Library/Audi ...

随机推荐

  1. ruby 疑难点之—— yield 和 yield self

    yield 所有的"方法(methods)"隐式跟上一个"块(block)"参数. 块参数也可以明确给定,形式就是在参数前面加一个"&&quo ...

  2. 【推理,贪心】UVa 1319 - Maximum

    看到了大神的代码.理解了好久...真是差距. 题意:给出m, p, a, b,然后xi满足已下两个公式, 求 xp1 + xp2 +...+ xpm 的最大值. 1.-1/sqrt(a) <= ...

  3. 用Activator.CreateInstance代替new实现类的实例化(转)

    一直想得到这样一个函数,输入一个类的名称为参数,返回一个相应的类的实例. 这在工厂模式中是非常有用的 这样,可以使程序有更高的扩展性,例如,,下面的例子 如果现在有一个类,专门用来计算交通工具的速度, ...

  4. 安装SqlServer2008时相关问题

    在安装SqlServer2008时,安装程序支持规则,老提示重启计算机 1,运行 regedit 打开注册表编辑器. 2,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ...

  5. AIDL实现Android IPC

    1.AIDL文本解释 在软件工程中,接口定义语言(IDL)已经成为通用术语,是用来描述软件组件接口的特定语言.在Android中,该IDL被称为Android接口定义语言(AIDL),它是纯文本文件, ...

  6. 如何查看JDK是64bit还是32bit

    在eclipse或MyEclipse中创建一个Java Project并运行如下代码: public class Test { public static void main(String[] arg ...

  7. ALTER---删除字段

    ALTER TABLE table_name DROP (column1,column2,...); 例: ALTER TABLE userinfo DROP (name,num); 说明: 1.or ...

  8. JAVA生成EXCEL图表

    跟据客户的要求,需要开发一套包括图形的报表,还需要导出WORD 图表需要这样: 这样: 这样: 还有这样: 接下来是实现思路: 以往用的最多的就是JFreechart,手上也有实现各种图形的资源,但是 ...

  9. Objective-C访问SQLite

    数据库的相关知识我就不去说明了,毕竟只要会sql语言的人就大家都一样. 本案例是在Xcode7.2环境下创建的single view application进行演示操作. 首先第一点,为什么要使用sq ...

  10. C#中实现抽象类里建立静态方法

    这篇文章主要介绍了C#中实现抽象类里建立静态方法,需要的朋友可以参考下   本文简述了C#中实现抽象类里建立静态方法的解决办法,示例程序如下: 1 2 3 4 5 6 public class Tes ...