首页 > IOS频道 > 【IOS研究院之应用开发】 > IOS研究院之打开照相机与本地相册选择图片(六)
2012
07-19

IOS研究院之打开照相机与本地相册选择图片(六)

          Hello 大家好 IOS的文章好久都木有更新了,今天更新一篇哈。 这篇文章主要学习如何在IOS程序中打开照相机与本地相册并且选择一张图片。还是老样子MOMO写了一个简单的测试程序,如下图所示 在本地相册中选择一张图片后,我们将他拷贝至沙盒当中,在客户端中将它的缩略图放在按钮旁边,这个结构其实和新浪微薄中选择图片后的效果一样。最终点击发送将按钮将图片2进制图片上传服务器。

 

IOS研究院之打开照相机与本地相册选择图片(六) - 雨松MOMO程序研究院 - 1

 

下面我们仔细学习具体的细节。创建一个空的IOS项目,接着在创建一个ViewController。

AppDelegate.h 应用的代理类 这个没什么好说的就是直接打开刚刚创建的新ViewController。

 

AppDelegate.m 在这里就是打开我们创建的TestViewController

 

TestViewController.h 注意这里面引入了很多代理类。

 

TestViewController.m 请大家仔细看这个类, 所有的东西都写在了这里哈。

 

如下图所示,打开下拉菜单按钮开始选择打开相机 或者 打开本地相册。模拟器中是无法打开照相机的的,切记。

IOS研究院之打开照相机与本地相册选择图片(六) - 雨松MOMO程序研究院 - 2

 

如下图所示,这里就是我本地的相册啦,里面保存了几张图片,选择一张即可。

 

IOS研究院之打开照相机与本地相册选择图片(六) - 雨松MOMO程序研究院 - 3

 

 

我在这里再说说图片上传, 图片上传我们采用的是2进制ASIHTTPRequest 来完成的。

发送请求

 

 

最后是文本的源码,雨松MOMO祝大家学习愉快,不早了,我也得睡觉啦,1点多了。。。

下载地址:http://vdisk.weibo.com/s/accm9

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

IOS研究院之打开照相机与本地相册选择图片(六)》有 40 条评论

  1. 三星乱世 说:

    松哥,请问我的Editor Settings—Version Control—Mode中的Asset Server为什么是灰色的,少安装了什么

  2. 希望 说:

    想你请教个问题, 将图片选择好后,保存到沙盒的过程十分缓慢,还有从沙盒中再把图片读取出现来时的过程也很慢,请问有没有什么方式可以让这个过程快些。 我是个改变了图片的压缩比例,但是没有什么明显效果。

  3. Jangel江 说:

    感谢,现在是2015.09.28.。。。。。。。。O(∩_∩)O哈哈~

  4. qidi 说:

    用了你的方法拍照完成后还是会退出程序啊 IOS研究院之打开照相机与本地相册选择图片(六) - 雨松MOMO程序研究院 - 1

  5. 打开相机拍照确实存在问题,程序会cresh,用了你的这段代码就好了.

  6. 能发一个单独上传图片demo吗 这个问题让我头疼好久了 ASIHTTPRequest 这个引用怎么弄都是报错

  7. ca-灿 说:

    这个过程实际没有截取图片。。怎么截图?就是截取一张图片的一部分

  8. 谢谢 说:

    照片上传 服务端能不能贴一下!

  9. 王映辉 说:

    非常感谢。但是该工程在ipad中调用相机好像会蹦掉,在网上查了把相机的那一块改了下-(void)takePhoto{ UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { UIImagePickerController *pickerCammer = [[UIImagePickerController alloc] init]; if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { pickerCammer.sourceType = UIImagePickerControllerSourceTypeCamera; pickerCammer.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:pickerCammer.sourceType]; pickerCammer.delegate=self; pickerCammer.allowsEditing = YES; } [self presentModalViewController:pickerCammer animated:YES]; [pickerCammer release]; }else { NSLog(@”模拟其中无法打开照相机,请在真机中使用”); } }就可以了,但是momo能不能花点时间把ipad中的图片截取写一下啊,我对xcode不是很熟悉!要是能把图片传回unity工程中使用最好了!!! IOS研究院之打开照相机与本地相册选择图片(六) - 雨松MOMO程序研究院 - 1

  10. 模拟器中为什么打不开照相机?

  11. zeng1108888 说:

    好像有几处没release

  12. zeng1108888 说:

    这个demo不工具检测有内存泄露问题。。在delegate里?

  13. kurama311 说:

    你好,我想请问一下,为什么用这段代码打开iPad相册会崩溃? 而且没有错误信息……

  14. freemuzi_lee 说:

    另外,我测试发现一个相机问题,相机拍完照,选择了图片之后,回调到我的view中,第一次都没有问题,但是多选择几次经常会出现程序异常退出的问题,本地相册选择图片就没有这样的问题,非常奇怪

  15. freemuzi_lee 说:

    我测试了一下,UIImagePickerController回调好像没有起作用,选择本地相册之后,没有回调

  16. 说:

    请教下、进入相册后 的 navigationController 的标题能改中文吗?

  17. 王征v 说:

    你好,请问有没有选取视频上传的demo?

  18. all 说:

    你好,请教一个问题,我怎么才能在unity3d里调用iphone照片库和照相功能,自己试了n久都不成功,看了你的文章收获特别大,谢谢

  19. cici 说:

    MOMO人很好啊,我想请问下这段上传图片的代码可以用么,我现在正在纠结这个,刚才用你的代码试了试,还是失败了,已经试过很多,都是用的ASIHTTPRequest这个框架,[request setDidFinishSelector:@selector(sendCommentSucc:)]; 这个方法已经执行完了,但是服务器没有显示图片,不知道自己错在哪了,MOMO能不能指点一二

留下一个回复

你的email不会被公开。