我有一个UIPickerView和一个UILabel,它们是分开的。
当用户选择UIPickerView中的一行时,我使用委托函数更改UILabel文本:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
label.text = String(row);
}然而,由于某种原因,更改标签的文本会导致UIPickerView跳回到顶部(第一行)。
当我删除行"label.text =String( UIPickerView );“时,行根本不会跳转。
这非常奇怪,我找不到这两个元素之间的任何关联。
提前感谢您的回复:)
发布于 2017-03-08 08:03:12
事实证明,这个“奇怪的神奇bug”是由于另一个bug而在viewDidLayoutSubviews()中设置UIPickerViews的默认值。
因此,每当元素发生更改时,都会调用viewDidLayoutSubviews(),并再次设置UIPickerView的值,从而使其跳转。
https://stackoverflow.com/questions/42543764
复制相似问题