Ios 在没有UIImagePickerController的情况下使用我自己的按钮拍照

Ios 在没有UIImagePickerController的情况下使用我自己的按钮拍照,ios,xcode,swift,camera,uiimagepickercontroller,Ios,Xcode,Swift,Camera,Uiimagepickercontroller,我想在不使用UIImagePickerController的情况下,在应用程序中使用自己的按钮拍照。因此,我想在我的视图控制器上有一个视图,显示实时摄像机视图和一个按钮,在这个按钮上,我可以直接拍照,而无需使用UIImagePickerController。然后我想在我的视图控制器上的视图中显示这张照片 原因是我不想有第二个屏幕来拍照。处理起来应该容易得多。或者有没有另一种方法可以在我自己的手柄上拍照 我用Swift来做这件事 目前,我在代码中使用UIImagePickerController:

我想在不使用UIImagePickerController的情况下,在应用程序中使用自己的按钮拍照。因此,我想在我的视图控制器上有一个视图,显示实时摄像机视图和一个按钮,在这个按钮上,我可以直接拍照,而无需使用UIImagePickerController。然后我想在我的视图控制器上的视图中显示这张照片

原因是我不想有第二个屏幕来拍照。处理起来应该容易得多。或者有没有另一种方法可以在我自己的手柄上拍照

我用Swift来做这件事

目前,我在代码中使用UIImagePickerController:

import UIKit

class ViewController2:UIViewController,UIAlertViewDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate,UIPopoverControllerDelegate
{
    @IBOutlet weak var btnClickMe: UIButton!
    @IBOutlet weak var imageView: UIImageView!
    var picker:UIImagePickerController?=UIImagePickerController()
    var popover:UIPopoverController?=nil

    override func viewDidLoad()
    {
        super.viewDidLoad()
        picker!.delegate=self
    }

    override func didReceiveMemoryWarning() 
    {
        super.didReceiveMemoryWarning()
    }

    @IBAction func btnImagePickerClicked(sender: AnyObject)
    {
        self.openCamera()
    }

    func openCamera()
    {
        if(UIImagePickerController .isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera))
        {
            picker!.sourceType = UIImagePickerControllerSourceType.Camera
            self.presentViewController(picker!, animated: true, completion: nil)
        }
        else
        {
        openGallary()
        }
    }

    func openGallary()
    {
        picker!.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        if UIDevice.currentDevice().userInterfaceIdiom == .Phone
        {
            self.presentViewController(picker!, animated: true, completion: nil)
        }
        else
        {
            popover=UIPopoverController(contentViewController: picker!)
            popover!.presentPopoverFromRect(btnClickMe.frame, inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)
        }
    }

    func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]!)
    {
        picker.dismissViewControllerAnimated(true, completion: nil)
        imageView.image=info[UIImagePickerControllerOriginalImage] as UIImage
    }

    func imagePickerControllerDidCancel(picker: UIImagePickerController!)
    {
        println("picker cancel.")
    }
}

您必须深入研究avfoundation类,并制作自己的控制器

也看看这个