• Swift


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

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

    3,效果图如下:
      
     

    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 ViewController: UIViewController, UIImagePickerControllerDelegate,
    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{
                println("读取相册错误")
            }
             
        }
         
        //选择图片成功后代理
        func imagePickerController(picker: UIImagePickerController,
            didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
            //查看info对象
            println(info)
            //获取选择的原图
            let image = info[UIImagePickerControllerOriginalImage] as! UIImage
            imageView.image = image
            //图片控制器退出
            picker.dismissViewControllerAnimated(true, completion: {
                () -> Void in
            })
        }
         
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }
  • 相关阅读:
    Python-快速入门
    Python-面向对象编程
    python-模块
    .net mvc onexception capture; redirectresult;
    a c lang in linux
    上海哪里有学陈氏太极拳?
    【Origin】 叹文
    【Origin】 碑铭
    【Origin】 偶题 之 抒意
    【Origin】答友朋关切书
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4843375.html
Copyright © 2020-2023  润新知