前提・実現したいこと
swiftでViewControllerでスクリーンショットの受け渡し処理をしたいです。
ご教授よろしくお願いいたします。
[参考にしたサイト]
こちら
こちら
発生している問題
画面遷移したときに画像表示がされません。
該当のソースコード
ViewController
1 2import UIKit 3 4class ViewController: UIViewController{ 5 6 @IBAction func cameraButton(_ sender: UIButton) { 7 8 PhotoViewController().screenImage = getScreenShot() 9 performSegue(withIdentifier: "prevPhoto", sender: nil) 10 11 } 12 13 override func viewDidLoad() { 14 super.viewDidLoad() 15 16 } 17 18 // screenshot 19 private func getScreenShot() -> UIImage? { 20 guard let view = self.view else { 21 return nil 22 } 23 UIGraphicsBeginImageContext(view.frame.size) 24 view.drawHierarchy(in: view.bounds, afterScreenUpdates: true) 25 let image = UIGraphicsGetImageFromCurrentImageContext() 26 UIGraphicsEndImageContext() 27 28 return image 29 } 30 31} 32
PhotoViewController
1class PhotoViewController: UIViewController { 2 3 @IBOutlet weak var previewView: UIImageView! 4 5 @IBAction func saveButton(_ sender: UIButton) { 6 7 UIImageWriteToSavedPhotosAlbum(screenImage!, nil, nil, nil) 8 self.dismiss(animated: true, completion: nil) 9 10 } 11 12 var screenImage:UIImage? = nil 13 14 override func viewDidLoad() { 15 super.viewDidLoad() 16 17 previewView.image = screenImage 18 19 } 20}
補足情報(FW/ツールのバージョンなど)
swit4.2 xcode 10.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 06:55