##概要
- PickerViewを始めて使って見る
##環境
- Xcode:7.3
- Swift 2.2
##使用するオブジェクト
- Picker View
- Label
##やること
- Picker Viewで選んだものを Label に表示する
##手順
- プロジェクト作成
- UIパーツを配置
2−1. ObjectLibraryからLabelとPickerViewをレイアウト
2−2. LabelはnameLabelとする
2-3. PickerViewはnamePickerviewとする - ViewController.swift のコーディング
##コーディング
- PickerViewDataSource と PickerViewDelegate を追加
class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
- Picker View に表示するリスト作成
var list = ["森永アイス ラムネバー ソーダ味","森永アイス ラムネバー 白桃ソーダ味","赤城乳業ミント","森永Pinoバニラ","森永Pinoアーモンド","森永Pinoチョコ"]
- Picker View のDataSourceとDelegateをselfにする
override func viewDidLoad() {
super.viewDidLoad()
namePickerview.dataSource = self//これと
namePickerview.delegate = self//これ
}
- Picker View の列を1にする
//Picerviewの列の数は1とする
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
- Picker View の行数は配列数にする
func pickerView(namePickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return list.count
}
- 表示する文字列を指定する
func pickerView(namePickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return list.count
}
//表示する文字列を指定する
//PickerViewに表示する配列の要素数を設定する
func pickerView(namePickerview: UIPickerView, titleForRow row: Int, forComponent component: Int)-> String! {
return list[row]
}
- Labelに表示する
//ラベル表示
func pickerView(namePickerview: UIPickerView, didSelectRow row: Int, inComponent component: Int){
nameLabel.text = list[row]
}
##ソースコード
import UIKit
class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var namePickerview: UIPickerView!
var list = ["森永アイス ラムネバー ソーダ味","森永アイス ラムネバー 白桃ソーダ味",
"赤城乳業ミント","森永Pinoバニラ","森永Pinoアーモンド","森永Pinoチョコ"]
override func viewDidLoad() {
super.viewDidLoad()
namePickerview.dataSource = self
namePickerview.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//Picerviewの列の数は1とする
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(namePickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return list.count
}
//表示する文字列を指定する
//PickerViewに表示する配列の要素数を設定する
func pickerView(namePickerview: UIPickerView, titleForRow row: Int, forComponent component: Int)-> String! {
return list[row]
}
//ラベル表示
func pickerView(namePickerview: UIPickerView, didSelectRow row: Int, inComponent component: Int){
nameLabel.text = list[row]
}
}