Computer >> Máy Tính >  >> Lập trình >> IOS

Làm cách nào để tạo Bộ chọn theo chương trình từ mảng trong iOS?

Chế độ xem bộ chọn hiển thị một hoặc nhiều bánh xe mà người dùng thao tác để chọn các mục. Mỗi bánh xe — được gọi là một thành phần — có một loạt các hàng được lập chỉ mục đại diện cho các mục có thể chọn.

UIPicker là một trong những thành phần quan trọng và hầu như được sử dụng trong hầu hết các ứng dụng. Bạn sẽ thấy chúng chủ yếu trong các ứng dụng dựa trên biểu mẫu.

Bạn có thể đọc thêm về nó tại đây:https://developer.apple.com/documentation/uikit/uipickerview

Trong bài đăng này, chúng ta sẽ xem cách tạo UIPicker theo lập trình từ mảng và tải các giá trị mảng vào đó.

Vì vậy, hãy bắt đầu,

Bước 1 - Mở Xcode và tạo một ứng dụng xem duy nhất và đặt tên là PickerSample.

Bước 2 - Mở ViewController.swift, Vì chúng tôi đang làm theo chương trình nên sẽ không đụng đến bảng phân cảnh.

Bước 3 - Đầu tiên trong phương thức viewDidLoad tạo một đối tượng của UIPickerView

let UIPicker: UIPickerView = UIPickerView()

Bước 4 - Đặt đại biểu và tải chế độ xem ở giữa màn hình,

UIPicker.delegate = self as UIPickerViewDelegate
UIPicker.dataSource = self as UIPickerViewDataSource
self.view.addSubview(UIPicker)
UIPicker.center = self.view.center

Bước 5 - Xác nhận lớp viewController với UIPickerViewDelegate, UIPickerViewDataSource

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource

Bước 6 - Tạo một mảng dữ liệu mà bạn muốn hiển thị

let dataArray = ["English", "Maths", "History", "German", "Science"]

Bước 7 - Thực hiện các phương pháp ủy quyền,

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
}

Bước 8 - Chạy ứng dụng

Làm cách nào để tạo Bộ chọn theo chương trình từ mảng trong iOS?

Hoàn thành mã

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