iOS
 Computer >> コンピューター >  >> プログラミング >> iOS

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:アプリを実行する

アプリをビルドして実行すると、画面中央に科目名が並んだピッカーが表示されます。

iOSで配列からUIPickerViewをコードだけで作成する方法【Swift】

完成版のコード全体

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
    }
}
  1. iOS 10.0.2からダウングレードする方法【準備から復元まで完全解説】

    iOS 10.0.2へのアップデートには便利な新機能がいくつか追加されましたが、同時にバグも発生しています。最新版のiOSで不具合に遭遇し、iOS 10.0.2から以前のバージョンにダウングレードしたい場合は、以下の手順に従って進めてください。なお、このガイドを実行するには、PCまたはMacと、iOSデバイスを接続するためのデータケーブルが必要です。手順は大きく分けて2つのステップで構成されています。ステップ1ではダウングレードに必要なソフトウェアを準備し、ステップ2で実際にダウングレードを実行します。ここではiOS 10.0.2ユーザー向けに解説しますが、同じ流れは他のiOSバージョンからの

  2. iOS 15からiOS 14.6へダウングレードする方法|ベータ版をやめて安定版に戻す完全ガイド

    iOS 15からiOS 14へのダウングレード方法 最新機能をいち早く試すにはベータ版が便利ですが、日常使用では必ずしも快適に動作するとは限りません。勢いでiOS 15にアップグレードしたものの、後悔している方もいるのではないでしょうか。この記事では、安定版であるiOS 14.6に戻す方法を詳しく解説します。 最も簡単な方法:ベータプロファイルの削除 iOS 14.6にダウングレードする最も簡単な方法は、iOS 15のベータプロファイルを削除し、次の正式アップデートを待つことです。手順は以下の通りです。 iPhoneの「設定」を開き、「一般」をタップします。 「プロファイルとデバイス管理」