Swift—调用系统相册和相机

Posted 风雨彩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift—调用系统相册和相机相关的知识,希望对你有一定的参考价值。

//UI界面代码

import UIKit

 

class CameraView: UIView {

    var cameraButton : UIButton!

    var photoButton : UIButton!

    var image : UIImageView!

    override init(frame : CGRect)

    {

        super.init(frame: frame)

        cameraButtonMethods()

        photoButtonMethods()

        imageMethods()

    }

    required init?(coder aDecoder: NSCoder) {

        fatalError("init(coder:) has not been implemented")

    }

    func cameraButtonMethods(){

        

        cameraButton = UIButton(type: .custom)

        cameraButton.frame = CGRect(x: 20, y: 400, width: 100, height: 40)

        cameraButton.setTitle("调用相册", for: .normal)

        cameraButton.backgroundColor = UIColor.blue

        self.addSubview(cameraButton)

    

    }

    func photoButtonMethods(){

         photoButton = UIButton(type: .custom)

         photoButton.frame = CGRect(x: 255, y: 400, width: 100, height: 40)

         photoButton.backgroundColor = UIColor.blue

         photoButton.setTitle("调用相机", for: .normal)

        self.addSubview(photoButton)

        

    }

    func imageMethods(){

         image = UIImageView()

         image.image = UIImage(named: "image")

         image.frame = CGRect(x: 20, y: 40, width: 335, height: 335)

         self.addSubview(image)

    }

 

}

 

 

//控制器界面代码

import UIKit

 

class CameraViewController: UIViewController,UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    var cameraView = CameraView()

    override func viewDidLoad() {

        super.viewDidLoad()

 

        self.view.backgroundColor = UIColor.white

        cameraView = CameraView(frame: UIScreen.main.bounds)

        self.view.addSubview(cameraView)

        cameraView.cameraButton.addTarget(self, action: #selector(CameraViewController.cameraEvent), for: .touchUpInside)

        cameraView.photoButton.addTarget(self, action: #selector(CameraViewController.photoEvent), for: .touchUpInside)

    }

    func cameraEvent(){

        let pickerCamera = UIImagePickerController()

        pickerCamera.delegate = self

        self.present(pickerCamera, animated: true, completion: nil)

    }

    func photoEvent(){

        

        let pickerPhoto = UIImagePickerController()

        pickerPhoto.sourceType = .camera

        pickerPhoto.delegate = self

        self.present(pickerPhoto, animated: true, completion: nil)

    

    }

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

        

         let imagePickerc = info[UIImagePickerControllerOriginalImage] as! UIImage

        cameraView.image.image = imagePickerc

        self.dismiss(animated: true, completion: nil)

       

    }

 

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

 

 

}

 

//调用系统相册与相机时的配置,不然调取不会成功

 

 

 

以上是关于Swift—调用系统相册和相机的主要内容,如果未能解决你的问题,请参考以下文章

Android调用系统相机和相册

调用系统相册或相机工具类

Android Studio 调用系统相机(超清)和相册的照片并显示在ImageView

android实现头像更改并保存(调用系统相册,系统相机)

Android调用系统相机/相册并裁剪详解

iOS 使用系统相机相册显示中文