Xcode6(Swift)でPickerViewと連動して画像を表示させる方法

投稿者: Anonymous

PickerViewで表示されている「渋谷」「新宿」「六本木」「東京」に連動して、画面内にそれぞれの駅の写真を表示させるようにしたいのですが、どこにそのコードを書いたらいいのか分かりません。

完成イメージ:https://www.youtube.com/watch?v=pIB3bu440F8

お詳しい方がいましたら、ご回答宜しくお願い致します。

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate {

    //PickerViewの紐付け
    @IBOutlet weak var myPickerView: UIPickerView!

    //PickerViewに表示させる内容
    var stations = ["渋谷", "新宿", "六本木", "東京"]

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    func numberOfComponentsInPickerView(pickerView: UIPickerView!) -> Int {
        return 1
    }

    func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int{
        return stations.count
    }

    func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String!{
        return stations[row]
    }
  }
}

解決

細かい部分については省略させていただいておりますが、
下記のようなイメージでいけると思います。

class ViewController: UIViewController {
    // 画像を設定するビューを紐付けておく
    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var pickerView: UIPickerView!

    // 中略

    // Mark: UIPickerViewDelegate
    func pickerView(pickerView: UIPickerView
        , didSelectRow row: Int
        , inComponent component: Int) {
            /*
             紐付けたビューに画像を設定する
             ※dictionary等を利用してpickerViewの選択値と設定画像が紐づくようにしておくと良いかも
             */
            let image:UIImage? = UIImage(named: 画像名)
            imageView.image = image
    }
} 
回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *