我有一个UIPickerView和一个UILabel,彼此分开。
当用户在UIPickerView中选择一行时,我使用委托功能更改UILabel文本:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
label.text = String(row);
}
但由于某种原因,更改标签的文本会导致UIPickerView跳回到顶部(第一行)。
当我删除行" label.text = String(row);" UIPickerView根本没有跳转。
这很奇怪,我无法找到两个元素之间的任何关联。
提前感谢您的回复:)
答案 0 :(得分:0)
原来这个“奇怪的魔法错误”是由于我在viewDidLayoutSubviews()中设置了UIPickerViews的默认值,这是由于另一个错误。
因此,每当元素被更改时,调用viewDidLayoutSubviews()并再次设置UIPickerView的值,使其跳转。