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.

    }

 

 

}

 

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

 

 

 

posted @ 2016-12-17 15:47  风雨彩  阅读(3731)  评论(0编辑  收藏  举报