【问题标题】:take a photo with my own button without UIImagePickerController在没有 UIImagePickerController 的情况下使用我自己的按钮拍照
【发布时间】:2023-03-17 02:37:01
【问题描述】:

我想在不使用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.")
    }
}

【问题讨论】:

    标签: ios xcode swift camera uiimagepickercontroller


    【解决方案1】:
    猜你喜欢
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    相关资源
    最近更新 更多