iOSで配列からUIPickerViewをコードだけで作成する方法【Swift】
ピッカービュー(Picker View)は、ユーザーが回転操作によって項目を選択できる1つ以上のホイールを表示するUIコンポーネントです。各ホイールは「コンポーネント(component)」と呼ばれ、選択可能な項目がインデックス付きの行として並んでいます。
UIPickerViewはiOS開発における重要なコンポーネントの一つで、多くのアプリケーションで利用されています。特に、フォーム入力を伴うアプリでは頻繁に見かけるでしょう。
より詳細な情報は、Appleの公式ドキュメントを参照してください。
https://developer.apple.com/documentation/uikit/uipickerview
この記事では、ストーリーボードを使用せずに、配列のデータからUIPickerViewをコードだけで作成し、その値をピッカーに読み込ませる方法を解説します。
実装手順
ステップ1:プロジェクトを作成する
Xcodeを開き、Single View Applicationで新規プロジェクトを作成します。プロジェクト名は「PickerSample」としましょう。
ステップ2:ViewController.swiftを開く
今回はすべてコードで実装するため、ストーリーボードには一切触れません。ViewController.swiftファイルを開いてください。
ステップ3:UIPickerViewのインスタンスを生成する
まず、viewDidLoadメソッド内でUIPickerViewのオブジェクトを作成します。
let UIPicker: UIPickerView = UIPickerView()
ステップ4:デリゲートを設定し、画面中央に配置する
デリゲートとデータソースを設定した後、ピッカーを画面中央に配置してビューに追加します。
UIPicker.delegate = self as UIPickerViewDelegate UIPicker.dataSource = self as UIPickerViewDataSource self.view.addSubview(UIPicker) UIPicker.center = self.view.center
ステップ5:クラスにプロトコルを準拠させる
ViewControllerクラスにUIPickerViewDelegateとUIPickerDataSourceを準拠させます。
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource
ステップ6:表示用のデータ配列を作成する
ピッカーに表示したいデータの配列を定義します。
let dataArray = ["English", "Maths", "History", "German", "Science"]
ステップ7:デリゲートメソッドを実装する
ピッカーの動作に必要なデリゲートメソッドを実装します。
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return dataArray.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
let row = dataArray[row]
return row
}
ステップ8:アプリを実行する
アプリをビルドして実行すると、画面中央に科目名が並んだピッカーが表示されます。

完成版のコード全体
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
let dataArray = ["English", "Maths", "History", "German", "Science"]
override func viewDidLoad() {
super.viewDidLoad()
let UIPicker: UIPickerView = UIPickerView()
UIPicker.delegate = self as UIPickerViewDelegate
UIPicker.dataSource = self as UIPickerViewDataSource
self.view.addSubview(UIPicker)
UIPicker.center = self.view.center
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return dataArray.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
let row = dataArray[row]
return row
}
}
-
iOS 10.0.2からダウングレードする方法【準備から復元まで完全解説】
iOS 10.0.2へのアップデートには便利な新機能がいくつか追加されましたが、同時にバグも発生しています。最新版のiOSで不具合に遭遇し、iOS 10.0.2から以前のバージョンにダウングレードしたい場合は、以下の手順に従って進めてください。なお、このガイドを実行するには、PCまたはMacと、iOSデバイスを接続するためのデータケーブルが必要です。手順は大きく分けて2つのステップで構成されています。ステップ1ではダウングレードに必要なソフトウェアを準備し、ステップ2で実際にダウングレードを実行します。ここではiOS 10.0.2ユーザー向けに解説しますが、同じ流れは他のiOSバージョンからの
-
iOS 15からiOS 14.6へダウングレードする方法|ベータ版をやめて安定版に戻す完全ガイド
iOS 15からiOS 14へのダウングレード方法 最新機能をいち早く試すにはベータ版が便利ですが、日常使用では必ずしも快適に動作するとは限りません。勢いでiOS 15にアップグレードしたものの、後悔している方もいるのではないでしょうか。この記事では、安定版であるiOS 14.6に戻す方法を詳しく解説します。 最も簡単な方法:ベータプロファイルの削除 iOS 14.6にダウングレードする最も簡単な方法は、iOS 15のベータプロファイルを削除し、次の正式アップデートを待つことです。手順は以下の通りです。 iPhoneの「設定」を開き、「一般」をタップします。 「プロファイルとデバイス管理」