UIPickerView джиттер
У меня есть UIPickerView и UILabel, отдельно друг от друга.
Когда пользователь выбирает строку в UIPickerView, я изменяю текст UILabel с помощью функции делегата:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
label.text = String(row);
}
Однако по какой-то причине изменение текста метки приводит к тому, что UIPickerView возвращается к началу (первая строка).
Когда я удаляю строку "label.text = String(row);" UIPickerView не прыгает вообще.
Это очень странно, и я не могу найти никакой корреляции между этими двумя элементами.
Заранее благодарю за любые ответы:)
1 ответ
Оказывается, эта "странная магическая ошибка" была связана с тем, что я установил значение по умолчанию для UIPickerViews в viewDidLayoutSubviews() из-за другой ошибки.
Поэтому всякий раз, когда элемент был изменен, вызывался viewDidLayoutSubviews() и значение UIPickerView устанавливалось снова, вызывая его скачок.