如何将相机按钮添加到 UIImageView

How to add camera button to UIImageView

我想为 UIImageView 添加背景图片。此刻,在UIImageView的空框里,我有一个tapGestureRcognizer可以打开相机。

let imageView = whiskyPicture
    let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(DataInsertController.imageTapped(_:)))
    imageView!.userInteractionEnabled = true
    imageView!.addGestureRecognizer(tapGestureRecognizer)

func imageTapped(sender: UITapGestureRecognizer) {
    imagePicker = UIImagePickerController()
    imagePicker.allowsEditing = true
    imagePicker.delegate = self
    imagePicker.sourceType = .Camera

    presentViewController(imagePicker, animated: true, completion: nil)

现在我想在 UIImageView 中添加一个背景图片,以便用户可以看到点击的位置。最好的办法是将 iOS 的相机图标添加到 UIImage。选择照片后,背景图应该没有了。

有什么建议吗?

情节提要如下所示:

UIImageView我想添加一张背景图片。

首先,设计或搜索相机图像并将其添加到您的图像资源中。假设您将文件命名为 camera.jpg,在故事板中将图像设置为 camera.jpg。这样在加载时,您就会看到该图像。

现在当您拍完照片后,您想用 "taken" 照片替换 camera.jpg。

func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info:NSDictionary!) {
    let tempImage = editingInfo[UIImagePickerControllerOriginalImage] as UIImage
    myImageView.image = tempImage

    self.dismissModalViewControllerAnimated(true)

}

在您的 imageView 中直接设置相机图像并将 Mode 属性 设置为 Center。就像这张图

现在在 didFinishPickingMediaWithInfo 方法中,只需将 imageViewcontentMode 更改为您想要的 Scale To FillAspect FitAspect Fill

首先,您需要在 class 中实现 UIImagePickerControllerDelegate。

var imagePicker : UIImagePickerController!

func imagePickerController(picker: UIImagePickerController,       didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    imagePicker.dismissViewControllerAnimated(true, completion: nil)

    imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage

}

override func viewWillAppear(animated: Bool) {

    //Makes the camera pops up

    if imagePicker == nil { 
        imagePicker =  UIImagePickerController()
        imagePicker.delegate = self
        imagePicker.sourceType = .Camera

        presentViewController(imagePicker, animated: true, completion: nil) }

}

现在用户可以拍照了,照片会显示在imageView中。希望我正确理解了问题