ios - 我的选择器行在我的选择器中只显示一行。我希望他们像日期选择器一样
问题描述
出于某种原因,我似乎无法在我的选择器中显示两条选择器行。他们似乎只显示一个,但日期选择器很好。
class HomeViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var linePicker: UIPickerView!
@IBOutlet weak var skuPicker: UIPickerView!
override func viewDidLoad() {
super.viewDidLoad()
linePicker.delegate = self
linePicker.dataSource = self
skuPicker.delegate = self
skuPicker.dataSource = self
//passed over from previous view
var plantInfo = plantInformation
let totalNumberOfLines = plantInfo!["lines"].count
//populated the data
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if (pickerView.isEqual(linePicker)){
return lineInfo.count
} else {
return skusForPickerLine.count
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView.isEqual(linePicker) {
return lineInfo[row].lineNumber
} else {
return skusForPickerLine[row].sku_value
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let selectedValue = linePicker.selectedRow(inComponent: 0)
skusForPickerLine = lineInfo[selectedValue].skuInfo
skuPicker.reloadComponent(0)
}
func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
// height of picker is 50
return CGFloat(50)
}
}
解决方案
推荐阅读
- javascript - 如何将 ES6 类模块导入 Jasmine 进行测试?
- javascript - 如何在反应中加载图像并转换为blob
- python - 将 numpy 数组存储在 csv 或 excel 中
- java - 新 JedisPool 出现 NoClassDefFoundError
- azure - 在创建新 AD 林和域期间重新启动后,带有 DSC 扩展的 ARM 模板失败并出现安全错误
- r - 将列表中的行与 R 中有意义的重复项绑定
- php - Wordpress get_the_content() 返回标记
- javascript - 得到两个日期的差值后乘以价格和天数
- angular9 - 在 Angular 中构建组件
- php - 在 CodeIgniter 4 中显示错误消息