【Swift】UIPickerView | ポケットリファレンス サンプル付き

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
おすすめの本

 

タイトルとURLをコピーしました