美文网首页iOS开发访问相册和相机IOS三人行
iOS学习:调用相机和相册,选择图片上传

iOS学习:调用相机和相册,选择图片上传

作者: Smy | 来源:发表于2015-10-14 16:57 被阅读10888次

今天在项目中要实现一个上传头像功能,点击修改头像行弹出拍照或者从相册选择来设置头像。


实现效果如下图:



iOS有两种的拍照和视频的方式:

方法A:直接使用UIImagePickerController,这个类提供了一个简单便捷的拍照与选择图片库里图片的功能。

方法B:另一种是通过AVFoundation.framework框架完全自定义拍照的界面和选择图片库界面。


一、使用UIImagePickerController的具体操作如下:

提示:首先对应的viewController必须遵循以下协议:<UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>

1、调用接口前,我们需要先判断当前设备是否支持UIImagePickerController,用isSourceTypeAvailable:来判断是否可用。我直接在点击修改头像后调用chooseImage方法进行判断:

判断是否支持相机  

      UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件,当不支持相机时不显示拍照选项。cancelButtonTitle 和 destructiveButtonTitle是系统自动的两项,otherButtonTitles是自己定义的项,注意,最后一个参数要是nil。


2、实现相应的Action Sheet的选项的事件,对应UIActionSheetDelegate中的 -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 方法:

ActionSheetDelegate事件

3、实现ImagePicker delegate 事件,获得已拍摄或者选择的图片,最后调用写好的upload方法将图片上传到服务器。

选择获取图片类型

4、这里调用相机是系统自带的,默认提示都为英文,可以修改英文标题为中文,如cancel换为取消等。直接在项目的supporting files目录中的Info.plist中设置Localization native development region为China.

提示文字中英文切换

5、保存图片

保存图片至沙盒

6、点击图片预览,放大缩小带动画。

图片预览

二、通过AVFoundation.framework框架完全自定义

待补充.....


相关文章

网友评论

  • 棍武中原:大佬,请问怎么获取相册内视频时长的,还有祯。万分感谢
  • 西门吸雪:uploadImage方法有没有,现在徐亚这个方法里面的具体操作。。
    着急赶项目,在线等,,,,
  • 甘蔗222:iPad 能用嘛
  • 7a946bf5d2ca:我等着看 通过AVFoundation.framework框架完全自定义 结果翻到最后一句待补充 一口老血喷出来了
  • 4a02187e2078:感谢分享
  • 叫你不备注:必须要写进沙盒才能上传么?
  • 昵称怎么都被取完了:你好,我在照相时添加了一个范围框,照完之后跳转到 重拍和使用照片的界面 可是那个范围框没有消失,怎么办
  • e1e69252eee1:不知所云
  • RiversMa:我去,醉了这些都是简单的,正儿八紧需要的你有没写出来我也是醉了
  • 微光星芒:你好,请问选择图片的界面可以截个图吗? iOS选择相册图片界面,能进入到这张图片的大图形式吗?
  • c6b273e1d47d:楼主你好请教一下 如果我想上传类似身份证正反面那种的两个不同的image应该如何判断
    Juice007:添加一个全局变量记录下当前正在上传的是正面还是反面就好了啊
    吃人的午餐盒:@北五环小张儿 你好,你做好了么
    Wy_chris:@北五环小张儿 你现在做了吗?正反面那种?
  • chendong_:能把你的demo传一下吗
    chendong_:@lkqin 好的
    lkqin:@chendong_ https://github.com/mengmanzbh/CameraOfSwift/tree/master 这个人的demo 你也可以看一下
  • Ashoka_APP:还在吗 我在等AVFoundation 怎么传图啊
  • 白牛桑:你好,如果我想批量选择图片上传,该怎么做呢
    e1e69252eee1:@白牛桑 用CTAssetsPickerController第三方库

本文标题:iOS学习:调用相机和相册,选择图片上传

本文链接:https://www.haomeiwen.com/subject/ygyocttx.html