swift相册选择照片

来源:互联网 发布:linux u盘挂载乱码 编辑:程序博客网 时间:2024/05/01 20:34

Swift - 使用UIImagePickerController从相册选择照片并展示

1,UIImagePickerController介绍
(1)选择相册中的图片或者拍照,都是通过UIImagePickerController控制器实例化一个对象,然后通过self.presentViewController方法推送出界面显示。
(2)使用presentViewController的类需要实现UIImagePickerControllerDelegate,UINavigationControllerDelegate两个代理。
(3)UIImagePickerController可以通过isSourceTypeAvailable方法来判断设备是否支持照相机/图片库/相册功能。如果支持,可以通过sourceType属性来设置图片控制器的显示类型。

2,下面通过一个样例,演示如何使用UIImagePickerController
(1)点击“选择照片”,自动打开相册选择照片
(2)照片选中后,返回原界面并加载照片原图,同时控制台会打印照片的info信息
(3)如果选择照片前打开“编辑”开关,选中照片后会先进入照片编辑页面

3,效果图如下:
原文:Swift - 使用UIImagePickerController从相册选择照片并展示 原文:Swift - 使用UIImagePickerController从相册选择照片并展示 原文:Swift - 使用UIImagePickerController从相册选择照片并展示
原文:Swift - 使用UIImagePickerController从相册选择照片并展示 原文:Swift - 使用UIImagePickerController从相册选择照片并展示

4,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import UIKit
 
class ViewControllerUIViewControllerUIImagePickerControllerDelegate,
UINavigationControllerDelegate {
     
    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var editSwitch: UISwitch!
     
    override func viewDidLoad() {
        super.viewDidLoad()
    }
     
    //选取相册
    @IBAction func fromAlbum(sender: AnyObject) {
        //判断设置是否支持图片库
        if UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary){
            //初始化图片控制器
            let picker = UIImagePickerController()
            //设置代理
            picker.delegate = self
            //指定图片控制器类型
            picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
            //设置是否允许编辑
            picker.allowsEditing = editSwitch.on
            //弹出控制器,显示界面
            self.presentViewController(picker, animated: true, completion: {
                () -> Void in
            })
        }else{
            print("读取相册错误")
        }
         
    }
     
    //选择图片成功后代理
    func imagePickerController(picker: UIImagePickerController,
        didFinishPickingMediaWithInfo info: [String AnyObject]) {
            //查看info对象
            print(info)
            //获取选择的原图
            let image = info[UIImagePickerControllerOriginalImageasUIImage
            imageView.image = image
            //图片控制器退出
            picker.dismissViewControllerAnimated(true, completion: {
                () -> Void in
            })
    }
     
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_769.html
0 0
原创粉丝点击