ios 自定义UIPickerView选择器 选择的label
在iOS中,可以通过自定义UIPickerView选择器来获取选择的label。下面是一个示例代码,演示如何实现自定义UIPickerView选择器,并获取选择的label。
首先,创建一个UIViewController,并在其上添加一个UIPickerView和一个UILabel作为选择器和显示选择结果的标签。
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
let fruits = ["Apple", "Banana", "Orange", "Strawberry", "Watermelon"]
var selectedFruit: String?
@IBOutlet weak var pickerView: UIPickerView!
@IBOutlet weak var selectedLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
pickerView.delegate = self
pickerView.dataSource = self
}
// MARK: - UIPickerViewDelegate
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return fruits[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
selectedFruit = fruits[row]
selectedLabel.text = selectedFruit
}
// MARK: - UIPickerViewDataSource
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return fruits.count
}
}
在上述代码中,我们首先将view controller设为UIPickerViewDelegate和UIPickerViewDataSource的委托。然后,我们在viewDidLoad方法中设置UIPickerView的委托和数据源为自身。接下来,我们实现了UIPickerViewDelegate和UIPickerViewDataSource协议中的方法。
在UIPickerViewDelegate协议中,我们实现了titleForRow方法,用于返回选择器中指定行的标题。在didSelectRow方法中,我们获取了选择的水果,并将其赋值给selectedFruit变量,然后更新了标签的文本。
在UIPickerViewDataSource协议中,我们实现了numberOfComponents方法,返回选择器中的组件数,这里我们只有一个组件。在numberOfRowsInComponent方法中,我们返回选择器中每个组件的行数,这里返回水果数组的元素数量。
以上代码演示了如何自定义UIPickerView选择器,并获取选择的label。您可以根据自己的需求进行修改和扩展
原文地址: https://www.cveoy.top/t/topic/iKh1 著作权归作者所有。请勿转载和采集!