มุมมองตัวเลือกจะแสดงล้อตั้งแต่หนึ่งล้อขึ้นไปที่ผู้ใช้จัดการเพื่อเลือกรายการ แต่ละวงล้อหรือที่เรียกว่าส่วนประกอบจะมีชุดของแถวที่จัดทำดัชนีซึ่งแสดงถึงรายการที่สามารถเลือกได้
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 − ยืนยันคลาส viewController ด้วย UIPickerViewDelegate, UIPickerViewDataSource
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 } }