Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

วิธีสร้าง Picker โดยทางโปรแกรมจากอาร์เรย์ใน iOS


มุมมองตัวเลือกจะแสดงล้อตั้งแต่หนึ่งล้อขึ้นไปที่ผู้ใช้จัดการเพื่อเลือกรายการ แต่ละวงล้อหรือที่เรียกว่าส่วนประกอบจะมีชุดของแถวที่จัดทำดัชนีซึ่งแสดงถึงรายการที่สามารถเลือกได้

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 - เรียกใช้แอปพลิเคชัน

วิธีสร้าง Picker โดยทางโปรแกรมจากอาร์เรย์ใน iOS

กรอกโค้ด

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
   }
}