
一个APP,选择照片是很常用的功能,作为Swift上路的菜鸟,记录路上的点点滴滴.
看效果:(MAC 原生截图,真JB大…我还特意用了小屏幕的iPhone4s…还是很大….)
界面部分不好说,文章不提了….有兴趣的加群讨论!!!
1:处理点击图片,d出选择对话框
//MARK: 轻触 图片控件extension VIEwController { // MARK: 用于d出选择的对话框界面 var selectorController: UIAlertController { let controller = UIAlertController(Title: nil,message: nil,preferredStyle: .ActionSheet) controller.addAction(UIAlertAction(Title: "取消",style: .Cancel,handler: nil)) // 取消按钮 controller.addAction(UIAlertAction(Title: "拍照选择",style: .Default) { action in self.selectorSourceType(.Camera) }) // 拍照选择 controller.addAction(UIAlertAction(Title: "相册选择",style: .Default) { action in self.selectorSourceType(.Photolibrary) }) // 相册选择 return controller } // MARK: 轻触手势事件的回调 @IBAction func onTAPImageVIEw(sender: UITapGestureRecognizer) { presentVIEwController(selectorController,animated: true,completion: nil) } func selectorSourceType(type: UIImagePickerControllerSourceType) { imagePickerController.sourceType = type // 打开图片选择器 presentVIEwController(imagePickerController,completion: nil) }}
2:调用系统的图片选择界面
//MARK: 扩展图片选择和结果返回extension VIEwController: UIImagePickerControllerDelegate,UINavigationControllerDelegate { // MARK: 图片选择器界面 var imagePickerController: UIImagePickerController { get { let imagePicket = UIImagePickerController() imagePicket.delegate = self imagePicket.sourceType = .Photolibrary return imagePicket } } // MARK: 当图片选择器选择了一张图片之后回调 func imagePickerController(picker: UIImagePickerController,dIDFinishPickingMediawithInfo info: [String: AnyObject]) { dismissVIEwControllerAnimated(true,completion: nil) // 选中图片,关闭选择器...这里你也可以 picker.dismissVIEwControllerAnimated 这样调用...但是效果都是一样的... imageVIEw.image = info[UIImagePickerControllerOriginalimage] as? UIImage // 显示图片 imageVIEw.contentMode = .ScaletoFill // 缩放显示,便于查看全部的图片 } // MARK: 当点击图片选择器中的取消按钮时回调 func imagePickerControllerDIDCancel(picker: UIImagePickerController) { picker.dismissVIEwControllerAnimated(true,completion: nil) // 效果一样的... }}
3:VIEwController其他代码
此类非常简单,归功于Swift强大的扩展(extension)功能.
class VIEwController: UIVIEwController { // 图片控件 @IBOutlet weak var imageVIEw: UIImageVIEw! overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw,typically from a nib. imageVIEw.userInteractionEnabled = true // 开启控件的交互 *** 作,否则轻触事件无法传递 } overrIDe func dIDReceiveMemoryWarning() { super.dIDReceiveMemoryWarning() // dispose of any resources that can be recreated. }}
源码: https://github.com/angcyo/ImagePickerDemo
细心的你,可能发现了上图中全TM是英文….嘿嘿!!!
你懂得…
至此: 文章就结束了,如有疑问: QQ群 AndroID:274306954 Swift:399799363 欢迎您的加入.
总结以上是内存溢出为你收集整理的Swift-->从相册(摄像头)选择照片,图片选择全部内容,希望文章能够帮你解决Swift-->从相册(摄像头)选择照片,图片选择所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)