zoukankan      html  css  js  c++  java
  • 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()
        }
    }
  • 相关阅读:
    单例模式
    dubbo环境搭建
    树莓派Zero W无键盘无屏幕初始化
    Arduino连接MPU6050陀螺仪
    Raspberry Pi3驱动Oled ssh1106屏
    SonarQube 7.7默认数据库连接方法
    解决SonarQube启动时直接挂掉问题
    解决sonar的ES无法启动问题
    Jenkins自动打包并部署(以java -jar形势运行)
    python3中OpenCV imwrite保存中文路径文件
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4843375.html
Copyright © 2011-2022 走看看