//
// ViewController.swift
// Dome2test
//
// Created by 郭文亮 on 2018/11/22.
// Copyright © 2018年 finalliang. All rights reserved.
//
import UIKit
//添加连个协议来实现加载和读取相册的功能
class ViewController: UIViewController ,UIImagePickerControllerDelegate ,UINavigationControllerDelegate {
var imageView : UIImageView!
//添加一个图片拾取控制器 作为当前控制器的属性
var imagePickerController : UIImagePickerController!
override func viewDidLoad() {
super.viewDidLoad()
self.imageView = UIImageView(frame: CGRect(x: 20, y: 120, width: 280, height: 200))
self.view.addSubview(imageView)
let button = UIButton(frame: CGRect(x: 20, y: 60, width: 280, height: 40))
button.setTitle("选择一张图片", for: .normal)
button.addTarget(self, action: #selector(ViewController.pickImage), for: .touchUpInside)
button.backgroundColor = UIColor.darkGray
self.view.addSubview(button)
}
@objc func pickImage(){
//初始化图片拾取控制器对象
self.imagePickerController = UIImagePickerController()
//设置代理对象为当前视图控制器
self.imagePickerController.delegate = self
//设置图片拾取起允许移动缩放剪切图
self.imagePickerController.allowsEditing = false
//设置图片拾取的来源类型为系统相册
self.imagePickerController.sourceType = UIImagePickerControllerSourceType.photoLibrary
//设置图片拾取器的导航条前景色为橙色
self.imagePickerController.navigationBar.barTintColor = UIColor.orange
//设置导航条的着色颜色为白色
self.imagePickerController.navigationBar.tintColor = UIColor.white
//在当前视图控制器叉棍口展示图片拾取控制器
self.present(self.imagePickerController,animated: true,completion: nil)
}
//代理方法。响应完成图片拾取的事件
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
print(info[UIImagePickerControllerMediaType] ?? "")
print(info[UIImagePickerControllerReferenceURL] ?? "")
//将用户选择的图片, 赋予图像视图, 然后取消图片拾取控制器的展示
self.imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage
self.dismiss(animated: true, completion: nil)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
//响应取消图片拾取的事件
self.dismiss(animated: true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}