iOS 自定义选择器教程 - 使用 UIPickerView 实现
iOS 中的自定义选择器可以通过使用 UIPickerView 来实现。UIPickerView 是一个用于展示多列数据的视图控件,可以让用户通过滚动选择器的列来选择所需的值。
要实现自定义的选择器,首先需要在视图控制器中创建一个 UIPickerView 对象,并设置其代理和数据源。代理负责处理选择器的事件,数据源负责提供选择器的数据。
在代理方法中,可以实现选择器的外观和行为的自定义。可以设置选择器的背景颜色、字体、行高等属性,还可以处理选择器的滚动事件和选中事件。
在数据源方法中,需要提供选择器的数据。可以通过返回数组的方式提供选择器的列数和每一列的行数,并通过返回字符串的方式提供每一行的标题。
以下是一个简单的例子,演示如何自定义一个选择器,其中有两列数据,第一列为颜色,第二列为尺寸:
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
let colors = ['Red', 'Green', 'Blue']
let sizes = ['Small', 'Medium', 'Large']
@IBOutlet weak var pickerView: UIPickerView!
override func viewDidLoad() {
super.viewDidLoad()
pickerView.delegate = self
pickerView.dataSource = self
}
// MARK: - UIPickerViewDelegate
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if component == 0 {
return colors[row]
} else {
return sizes[row]
}
}
// MARK: - UIPickerViewDataSource
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return colors.count
} else {
return sizes.count
}
}
}
在上述例子中,创建了一个包含两列的选择器,第一列显示颜色,第二列显示尺寸。通过代理方法提供了选择器的数据和外观。
原文地址: https://www.cveoy.top/t/topic/qqwU 著作权归作者所有。请勿转载和采集!