2017-07-21 4 views
0

私は時計アプリを作っています。ユーザーにいくつかの背景画像を選択させたいのです。(ViewControllerのUIButtonをクリックすると、MainViewControllerで背景画像が変更されます。)したがって、segueを使用しますが、仕事。ここにコードがあります。1つのviewControllerでイメージデータを他のviewControllerに送信するにはどうすればいいですか?

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    let nav:UINavigationController = segue.destination as! UINavigationController 
    let mainVC:MainViewController = nav.visibleViewController as! MainViewController 
    //let mainVC: MainViewController = segue.destination as! MainViewController 

    if bg1Button.isSelected == true { 
     mainVC.bgImg.image = UIImage(named: "bg1.jpg") 
    } else if bg2Button.isSelected == true { 
     mainVC.bgImg.image = UIImage(named: "bg2.jpg") 
    } else if bg3Button.isSelected == true { 
     mainVC.bgImg.image = UIImage(named: "bg3.jpeg") 
    } else if bg4Button.isSelected == true { 
     mainVC.bgImg.image = UIImage(named: "bg4.jpg") 
    } else if bg5Button.isSelected == true { 
     mainVC.bgImg.image = UIImage(named: "bg5.png") 
    } else if bg6Button.isSelected == true { 
     mainVC.bgImg.image = UIImage(named: "bg6.png") 
    } else if bg7Button.isSelected == true { 
     mainVC.bgImg.image = UIImage(named: "bg7.jpg") 
    } 
} 

私はブレークポイントを作った、と私はそれがもし "に入るとき、それは何かをチェックして、ちょうど出ていなかったということ。実現しますどうしてか分かりません。助けてください。ありがとう:)

+0

ボタンをクリックしてくださいボタンのプロパティをbg1Button.isSelected = trueに設定しますか? – Vikky

答えて

0

このようなデータに画像を変換する: -

let data = UIImagePNGRepresentation(image) as? NSData 

がnextVCにデータを渡します -

mainVC.imageData = data 

表示する画像を、次のように: -

let imagePt = UIImage(data: (imageData as! NSData) as Data) 
+0

ありがとう! –

2

あなたのUIImageはNSDataの形式に変換し、辞書や配列に追加し、MainViewControllerにこれを転送します。 UIImageViewにNSDataを入れました。

+0

ありがとうございました! –

関連する問題