大佬教程收集整理的这篇文章主要介绍了Swift 打开图库,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Swift版本: 3.0
首先在info.plist内添加两个参数如下,给足权限,否则无法打开图库
@H_673_26@Key : Privacy - Media Library Usage Description
Value : YES [ It @H_673_26@is @H_673_26@not Boolean,it @H_673_26@is String ]
@H_673_26@Key : Privacy - Photo Library Usage Description
Value : YES [ It @H_673_26@is @H_673_26@not Boolean,it @H_673_26@is String ]
在ViewController中改为如下代码
import UIKit
// 首先在头部加入当前Controller需要遵从的代理
class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{
override func viewDidLoad() {
@H_673_26@super.viewDidLoad()
// Do any additional setup after loading the view,typically from a nib.
}
override func didReceiveMemoryWarning() {
@H_673_26@super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// 创建一个对象
// 这个对象是用来在屏幕上显示
@IBOutlet @H_673_26@weak var imagePicked: UIImageView!
// 这个Action方法对应着屏幕上的按钮,该按钮点击后会调用图库
@IBACtion func add(_ sender: UIBarButtonItem) {
// 判断数据源是否合法,这里的.photoLibrary省略了其类名,Swift会自动推导
@H_673_26@if UIImagePickerController.issourceTypeAvailable(.photoLibrary){
let imagePicker = UIImagePickerController()
imagePicker.delegate = @H_673_26@self
imagePicker.sourCEType = .photoLibrary
imagePicker.allowsEdiTing = true
// 这一句,开始调用图库
@H_673_26@self.present(imagePicker,animated: true)
}
}
// 实现代理的方法
// 注意,这里和swift3.0之前的版本实现方法都不太一样,这是唯一的写法,网上流传的其他方法都是过时的
func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [String : Any]) {
@H_673_26@if let image = info[UIImagePickerControllerOriginalImage] as? UIImage{
// 将图片显示给UIImageView
imagePicked.image = image
}@H_673_26@else{
print("pick image wrong")
}
// 收回图库选择界面
@H_673_26@self.dismiss(animated: true,completion: nil)
}
}
打开图库
显示到界面
完整demo百度云下载链接
以上是大佬教程为你收集整理的Swift 打开图库全部内容,希望文章能够帮你解决Swift 打开图库所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。