【问题标题】:Only use pictures taken through the camera, iOS/Swift仅使用通过相机拍摄的照片,iOS/Swift
【发布时间】:2016-10-24 10:19:17
【问题描述】:

我正在尝试编写一个函数,用户可以使用该函数将图片上传到我的服务器。我想禁止用户从照片卷中选择图片。无论如何我可以使用 ImagePicker pod 做到这一点吗?

func cancelButtonDidPress(imagePicker: ImagePickerController) {
    imagePicker.dismissViewControllerAnimated(true, completion: nil)
}

func wrapperDidPress(imagePicker: ImagePickerController, images: [UIImage]) {
}

func doneButtonDidPress(imagePicker: ImagePickerController, images: [UIImage]) {
    imagePicker.dismissViewControllerAnimated(true, completion: nil)
}

@IBAction func pictureButtonTapped(sender: AnyObject) {
    //take picture
    let imagePickerController = ImagePickerController()
    imagePickerController.imageLimit = 1
    imagePickerController.delegate = self
    presentViewController(imagePickerController, animated: true, completion: nil)
}

【问题讨论】:

    标签: ios swift uiimagepickercontroller


    【解决方案1】:

    您可以将sourceType 设置为camera 以仅作为相机打开图像选择器。

    @IBAction func pictureButtonTapped(sender: AnyObject) {
        let imagePickerController = ImagePickerController()
        imagePickerController.imageLimit = 1
        imagePickerController.delegate = self
    
        // Add these lines
    
        imagePickerController.sourceType = .camera
    
        presentViewController(imagePickerController, animated: true, completion: nil)
    }
    

    【讨论】:

    • sourceType 确实是我正在寻找的,但我使用的框架(ImagePicker)在上面的代码中给出了编译错误。我决定改用 DKImagePickerController 并且能够让它工作。
    【解决方案2】:
    import DKImagePickerController
    
    
    @IBAction func pictureButtonTapped(sender: AnyObject) {
            let pickerController = DKImagePickerController()
    
            pickerController.didSelectAssets = { (assets: [DKAsset]) in
                let size = CGSizeMake(512, 512)
                assets[0].fetchImageWithSize(size, completeBlock: { image, info in
                    self.image = image
                    self.pictureButton.setBackgroundImage(self.image, forState: .Normal)
                })
            }
    
            pickerController.singleSelect = true
            pickerController.maxSelectableCount = 1
            pickerController.sourceType = .Camera
    
            self.presentViewController(pickerController, animated: true) {}
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多