大佬教程收集整理的这篇文章主要介绍了swift3.0调用相机和相册 简单实用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
1、首先,swift3.0中调用相机和相册会导致崩溃,需要在info.plist文件中加入两个键值对,如下:@H_262_17@
Privacy - Photo Library Usage Description 和Privacy - Camera Usage Description ,都是String类型,内容任意的字符串即可。
@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@
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@
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@
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@
self.imagePickerController.sourceType = type@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@
if type=="public.image"@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,请注明来意。