【发布时间】:2017-03-01 22:59:57
【问题描述】:
我有一个 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?
-
是的,文本设置正确,然后 UIPicker 跳回
-
如果不设置标签文本,只打印字符串(行)怎么办?还会跳吗?我从来没有见过这个,也没有答案,所以我试图帮助你调试
-
哈哈我也不是很奇怪。打印字符串而不是设置文本有效(无跳转),我尝试注释掉不同的部分,并且仅在设置此标签的文本时才会发生。
-
如果我总是将文本设置为“0”,它会跳转一次,然后再正常工作。
标签: swift uipickerview uipickerviewdelegate