2016-11-03 2 views
0

Я использую AVFoundation для захвата. И я хочу добавить захваченное изображение в UIImageView следующего представления. У меня есть код, который позволяет мне добавить одну фотографию в один UIImageView:Добавление снятого изображения в следующий вид Swift 3 Xcode 8

func saveToCamera() { 

    if let videoConnection = stillImageOutput.connection(withMediaType: AVMediaTypeVideo) { 

     stillImageOutput.captureStillImageAsynchronously(from: videoConnection, completionHandler: { (CMSampleBuffer, Error) in 
      if let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(CMSampleBuffer) { 

       if let cameraImage = UIImage(data: imageData) { 

        UIImageWriteToSavedPhotosAlbum(cameraImage, nil, nil, nil) 
        self.scan = cameraImage //recording captured image to variable 
       } 

      } 
     }) 
    } 
} 

Подготовка к коду SEGUE:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if(segue.identifier == "MainSegue"){ 
     let yourNextViewController = (segue.destination as! MainView) 
     yourNextViewController.scan = scan 
     }    
    } 
} 

Следующая Вид:

var scan: UIImage! 
@IBOutlet weak var imgScan: UIImageView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    imgScan.image = scan 
} 

Это примитивно и работ отлично, но только для одного изображения. Но я хочу сделать до шести фотографий и добавить их в шесть ImageViews. Как мне это сделать?

ответ

1

Я ожидаю, что самое главное, что здесь будет изменить:

var scan: UIImage! 

к этому:

var scan: [UIImage] = []() 

Теперь у вас есть массив, который вы можете append к, добавляя каждый из ваших изображений в prepare. Конечно, вам также придется изменить код во втором контроллере представления, чтобы посмотреть, сколько изображений у вас есть, и назначить их для разных видов изображений, но это тривиальное изменение.

+0

Большое спасибо. Это довольно просто, и я не знаю, почему я не решаю его сам. –

+0

Это можно упростить, если ваша точка просмотра изображений - это _outlet collection_. Это означает, что это просмотр изображений. Таким образом, у вас есть массив изображений и массив представлений изображений, что упрощает назначение каждого изображения на его взгляд! – matt

 Смежные вопросы

  • Нет связанных вопросов^_^