具有多个imageView输出的iOS相机

时间:2016-05-11 02:54:51

标签: ios swift uiimageview avfoundation uiimagepickercontroller

在我的FirstVC中,我了解如何使用UIImagePickerController,加载相机,拍照,在1 imageView(仍在FirstVC内)中显示它,然后通过prepareForSegue将该图像传递到SecondVC内的imageView在那边。

我需要帮助的是在FirstVC中有多个imageViews,这样一旦用户将第一张图片加载到第一张imageView,然后第二张图片就会出现第二张imageView,第三张图片到第三张图片,第四张图片到第四张图片。之后会出现一个警告,表示用户不能再拍摄任何照片,并且用户会按下nextSceneButton进入SecondVC,这将显示他们刚拍摄的4张所选图像。

我总是使用UIImagePickerController,但我刚认识AVFoundation。我应该使用AVFoundation或UIImagePicker执行此任务吗?

这是我的UIImagePickerController代码,在FirstVC中只有一个imageView:

require(devtools)
install('path-to-the-untared-folder')

1 个答案:

答案 0 :(得分:1)

您可以添加计数属性并将图像保存在数组中:

var count = 0
var imageViews:[UIImageView]

每次拍摄照片并委托调用时,都会加载相应的图像视图:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
        let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage
        self.imageViews[count].image = chosenImage
        count +=1
        dismissViewControllerAnimated(true, completion: nil)
 }

然后,如果拍摄的所有照片都提醒用户:

@IBAction func photoButtonPressed(sender: UIButton) {
      if count < imageViews.count {
          //present UiimagePicker
      } else {
          // alert no more pictures allowed
      }
}