最初のViewController(AViewController)では、カメラを設定しました。画像がキャプチャされると、私はUIImageViewを含む他のViewController(BViewController)を提示します。問題は、BViewControllerのUIImageViewがAViewControllerでキャプチャされた画像を表示しないことです。私はストーリーボードを使用しないと指定します。UIImageを2つのView Controller(ストーリーボードなし)に渡すことはできません
この問題を解決する方法はありますか?私は何か見落としてますか ?ご協力ありがとうございます!
class AViewController: UIViewController {
...
func capture(){
if let videoConnection = stillImageOutput!.connection(withMediaType: AVMediaTypeVideo) {
videoConnection.videoOrientation = AVCaptureVideoOrientation.portrait
stillImageOutput?.captureStillImageAsynchronously(from: videoConnection, completionHandler: {(sampleBuffer, error) in
if (sampleBuffer != nil) {
let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer)
let dataProvider = CGDataProvider(data: imageData as! CFData)
let cgImageRef = CGImage(jpegDataProviderSource: dataProvider!, decode: nil, shouldInterpolate: true, intent: CGColorRenderingIntent.defaultIntent)
let imageSaved = UIImage(cgImage: cgImageRef!, scale: 1.0, orientation: UIImageOrientation.right)
self.present(BViewController(), animated: false, completion: { Void in
BViewController().integrate(image: imageSaved)
})
}
}
}
}
=========================================== =====================
class BViewController : UIViewController {
let imageView = UIImageView()
override func viewDidLoad() {
super.viewDidLoad()
imageView.frame = view.bounds
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
view.addSubview(imageView)
}
func integrate(image: UIImage){
imageView.image = image
}
}
はい、あなたは正しいです!私はそれを修正し、私の解決策を投稿しました。ありがとう! – TheTurtle