UIPickerView の使い方
UIPickerView とはこういうやつです。
これを使うための最低限の部分です。
UITableView 等と同様に DataSource と Delegate を設定して、表示する列数、行数、要素を各メソッドで return するといった感じです。
import UIKit class ViewController: UIViewController { @IBOutlet weak var pickerView: UIPickerView! { didSet { pickerView.dataSource = self pickerView.delegate = self } } let components = (1...100).map { "\($0)" } } extension ViewController: UIPickerViewDataSource { // 列数 // 1列であってもこのメソッドを省略できない func numberOfComponents(in pickerView: UIPickerView) -> Int { return 1 } // 行数 func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return components.count } } extension ViewController: UIPickerViewDelegate { // 要素 func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return components[row] } }
各要素の表示領域の backgroundColor を変更したりとか色々手を加えたい場合は、上記の Delegate メソッドではなく
func pickerView(UIPickerView, viewForRow: Int, forComponent: Int, reusing: UIView?)
UIPickerViewDelegate - UIKit | Apple Developer Documentation
を使って、色々手を加えた View を返すようにすることでできそうです。
ちなみに、UIDatePicker の countDownTimer の hour や min のように固定ラベルをつけたいとなっても、それようのプロパティやメソッドはなさそうでした。 やるなら UIPickerView とは別途、固定の UILabel を置く等しなければならなそうです。