Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift3.0调用相机和相册 简单实用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

1、首先,swift3.0中调用相机和相册会导致崩溃,需要在info.plist文件中加入两个键值对,如下: Privacy - Photo Library Usage Description  和 Privacy - Camera Usage Description ,都是String类型,内容任意的字符串即可。 2、废话少说,上代码! class MyController:UIViewCont

1、首先,swift3.0中调用相机和相册会导致崩溃,需要在info.plist文件中加入两个键值对,如下:@H_262_17@

Privacy - Photo Library Usage Description 和Privacy - Camera Usage Description ,都是String类型,内容任意的字符串即可。
@H_262_17@

2、废话少说,上代码@H_262_17@

class MyController:UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate { @H_262_17@

@H_262_17@

var uploaDalertController:UIAlertController!@H_262_17@

var imagePickerController:UIImagePickerController!@H_262_17@

@IBOutletweakvar headImg:UIImageView!@H_262_17@

@H_262_17@


@H_262_17@

overridefunc viewDidLoad() {@H_262_17@

super.viewDidLoad()@H_262_17@

@H_262_17@

self.initAlertController()@H_262_17@

self.initImagePickerController()@H_262_17@

} @H_262_17@

func initAlertController()@H_262_17@

{@H_262_17@

weakvar blockSelf =self@H_262_17@

self.uploaDalertController =UIAlertController(title:nil,message: nil,preferredStyle:UIAlertControllerStyle.actionSheet)@H_262_17@

self.uploaDalertController.view.TintColor = DeepMainColor@H_262_17@

let takePhoto =UIAlertAction(title:"拍照",style:UIAlertActionStyle.default) { (action:UIAlertAction)in@H_262_17@

blockSelf?.actionAction(action: action)@H_262_17@

}@H_262_17@

let photoLib =UIAlertAction(title:"从相册选择",style:UIAlertActionStyle.default) { (action:UIAlertAction)in@H_262_17@

blockSelf?.actionAction(action: action)@H_262_17@

}@H_262_17@

let cancel =UIAlertAction(title:"取消",style:UIAlertActionStyle.cancel) { (action:UIAlertAction)in@H_262_17@

blockSelf?.actionAction(action: action)@H_262_17@

}@H_262_17@

self.uploaDalertController?.addAction(takePhoto)@H_262_17@

self.uploaDalertController?.addAction(photoLib)@H_262_17@

self.uploaDalertController?.addAction(cancel)@H_262_17@

}@H_262_17@

func initImagePickerController()@H_262_17@

{@H_262_17@

self.imagePickerController =UIImagePickerController()@H_262_17@

self.imagePickerController.delegate = self@H_262_17@

// 设置是否可以管理已经存在的图片或者视频@H_262_17@

self.imagePickerController.allowsEdiTing = true@H_262_17@

}@H_262_17@

func actionAction(action:UIAlertAction)@H_262_17@

{@H_262_17@

if action.title =="拍照" {@H_262_17@

self.getImageFromPhotoLib(type: .camera)@H_262_17@

}elseif action.title =="从相册选择"|| action.title =="更换头像" {@H_262_17@

self.getImageFromPhotoLib(type: .photoLibrary)@H_262_17@

}elseif action.title =="删除照片" {@H_262_17@

self.headImg.image =UIImage(named:"head")@H_262_17@

}@H_262_17@

}@H_262_17@

func getImageFromPhotoLib(type:UIImagePickerControllersourceType)@H_262_17@

{@H_262_17@

self.imagePickerController.sourceType = type@H_262_17@

//判断是否支持相册@H_262_17@

ifUIImagePickerController.issourceTypeAvailable(.photoLibrary) {@H_262_17@

self.present(self.imagePickerController,animated: true,completion:nil)@H_262_17@

}@H_262_17@

}@H_262_17@

//MARK:- UIImagePickerControllerDelegate@H_262_17@

func imagePickerController(_ picker:UIImagePickerController,didFinishPickingMediaWithInfo info: [String :Any]){@H_262_17@

@H_262_17@

let type:String = (info[UIImagePickerControllerMediaType]as!String)@H_262_17@

//当选择的类型是图片@H_262_17@

if type=="public.image"@H_262_17@

{@H_262_17@

let img = info[UIImagePickerControllerOriginalImage]as?UIImage@H_262_17@

self.headImg.image =cropToBounds(image: img!)@H_262_17@

let imgData =UIImageJPEGRepresentation(self.headImg.image!,@H_197_911@0.5) @H_262_17@

picker.dismiss(animated:true,completion:nil)@H_262_17@

} @H_262_17@

}@H_262_17@

func imagePickerControllerDidCancel(_ picker:UIImagePickerController){@H_262_17@

picker.dismiss(animated:true,completion:nil)@H_262_17@

} @H_262_17@

@IBACtionfunc headImgTapGesture(_ sender:AnyObject) {@H_262_17@

present(self.uploaDalertController,animated:true,completion: nil)@H_262_17@

} @H_262_17@

}@H_262_17@

大佬总结

以上是大佬教程为你收集整理的swift3.0调用相机和相册 简单实用全部内容,希望文章能够帮你解决swift3.0调用相机和相册 简单实用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。