我不知道该怎么做来激怒众神,但是我的UIPickerView表现异常。它有2个组成部分,分别是月份和年份值,并且在右侧部分(年份)中选择一个值也会导致左侧部分(月)也更改值。
我最初使用以下代码创建UIPickerView:
pickerView = UIPickerView(frame: ...)
pickerView.delegate = self
pickerView.dataSource = self
然后,我实现一些简单的委托/数据源方法来处理选择器视图,如下所示:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if component == 0 {
expirationMonth = months[row]
} else {
expirationYear = years[row]
}
expirationTextField?.text = "\(expirationMonth ?? "")/\(expirationYear?.substring(from: 2) ?? "")"
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if component == 0 {
return months[row]
} else {
return years[row]
}
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return months.count
} else {
return years.count
}
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
此外,即使我未设置选择器视图的数据源,也正在调用UIPickerView数据源方法numberOfComponents
。
我不知道是什么导致了这种现象。我已经尝试了几乎所有内容,并且没有阻止它更改两个列的值的功能。有谁有解决此问题的想法?
答案 0 :(得分:0)
事实证明这是iOS模拟器中的错误,因为在iPhone上运行时,它就像是一种魅力。我以为我在那里快要疯了!
我要在早上提交错误投诉...对于其他遇到此问题的人,祝您好运。