UIPickerView サンプル
サンプルで動作を確認 コピーペーストで確認できます。
全体をコピー後、不必要な部分を削除することでコーディングを素早くできます。
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // ピッカーに設定する列の数を取得 print(uiPickerView.numberOfComponents) // ピッカーに設定する列の数を取得 let numberOfRowsInComponent = uiPickerView.numberOfRowsInComponent // 行が10行の場合のサイズを取得 print(uiPickerView.rowSizeForComponent(10)) // ピッカーを更新 uiPickerView.reloadAllComponents() // 列を指定してピッカーを更新 uiPickerView.reloadComponent(1) // 行、列を指定して選択状態にする。(3行、6列、アニメーションする) uiPickerView.selectRow(2, inComponent: 5, animated: true) // 6行目の選択されている列の行目を取得 uiPickerView.selectedRowInComponent(6) // 行、列に設定されている UIView を取得。(3行、6列) let uiView = uiPickerView.viewForRow(2, forComponent: 5) // デリゲートを設定 uiPickerView.delegate = self // 選択中の行をハイライト uiPickerView.showsSelectionIndicator = true // View へ追加 self.view.addSubview(uiPickerView)
UIPickerView 概要
UIKit のピッカーを利用する時に利用します。
- Import Statement
import UIKit - Available
iOS 2.0 and later - Inherits
UIView - Delegate
UIPickerViewDelegate
イニシャライザー (初期化)
インスタンスメソッド
■ ピッカーの行数を設定
func numberOfRowsInComponent(_ component: Int) -> Int
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // ピッカーに設定する列の数を取得 let numberOfRowsInComponent = uiPickerView.numberOfRowsInComponent
■ 指定した数行のサイズを取得
func rowSizeForComponent(_ component: Int) -> CGSize
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // 行が10行の場合のサイズを取得 print(uiPickerView.rowSizeForComponent(10))
■ ピッカーを更新
func reloadAllComponents()
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // ピッカーを更新 uiPickerView.reloadAllComponents()
■ 表示する列を指定してピッカーを更新
func reloadComponent(_ component: Int)
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // 列を指定してピッカーを更新 uiPickerView.reloadComponent(1)
■ 行、列を指定して選択状態にする。(行、列、アニメーションフラグ)
func selectRow(_ row: Int, inComponent component: Int, animated animated: Bool)
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // 行、列を指定して選択状態にする。(3行、6列、アニメーションする) uiPickerView.selectRow(2, inComponent: 5, animated: true)
■ 指定した列の選択されている列の行目を取得
func selectedRowInComponent(_ component: Int) -> Int
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // 6行目の選択されている列の行目を取得 uiPickerView.selectedRowInComponent(6)
■ 指定した行、列に設定されている UIView を取得
func viewForRow(_ row: Int, forComponent component: Int) -> UIView?
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // 行、列に設定されている UIView を取得。(3行、6列) let uiView = uiPickerView.viewForRow(2, forComponent: 5)
プロパティ
■ ピッカーに設定する列の数を取得
var numberOfComponents: Int { get }
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // ピッカーに設定する列の数を取得 print(uiPickerView.numberOfComponents)
■ デリゲート
weak var delegate: UIPickerViewDelegate?
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // デリゲートを設定 uiPickerView.delegate = self
■ 選択中の行をハイライト
var showsSelectionIndicator: Bool
// ピッカーインスタンスを作成 let uiPickerView = UIPickerView() // 選択中の行をハイライト uiPickerView.showsSelectionIndicator = true
おすすめの本