선택기 보기는 사용자가 항목을 선택하기 위해 조작하는 하나 이상의 휠을 표시합니다. 구성 요소라고 하는 각 휠에는 선택 가능한 항목을 나타내는 일련의 인덱싱된 행이 있습니다.
UIPicker는 중요한 구성 요소 중 하나이며 대부분의 응용 프로그램에서 거의 사용됩니다. 대부분 양식 기반 애플리케이션에서 볼 수 있습니다.
자세한 내용은 https://developer.apple.com/documentation/uikit/uipickerview
에서 읽을 수 있습니다.이 게시물에서는 프로그래밍 방식으로 UIPicker를 만들고 배열 값을 배열하고 로드하는 방법을 볼 것입니다.
시작하겠습니다.
1단계 − Xcode를 열고 단일 보기 응용 프로그램을 만들고 이름을 PickerSample로 지정합니다.
2단계 − ViewController.swift를 엽니다. 프로그래밍 방식으로 만들고 있으므로 스토리보드를 전혀 건드리지 않을 것입니다.
3단계 − 첫 번째 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단계 − UIPickerViewDelegate, UIPickerViewDataSource로 viewController 클래스 확인
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 } }