Как прокрутить до определенной строки в UIPickerView в iOS Swift 3
У меня есть UIPickerView
со значениями 0...250. Есть 2 компонента в UIPickerView
, В первом компоненте я отображаю эти значения. но я хочу обнаружить метод прокрутки UIPickerView
, потому что, когда появляется pickerView, значение, которое я хотел бы отобразить, равно 75. означает, что pickerView прокручивается до строки номер 75. и пользователь может прокручивать вверх и вниз сборщик со значениями 0...250. Я пробовал этот код в UIPickerView
titleForRow row: Int
метод
pickerView.selectRow(75, inComponent: 0, animated: true)
в этом случае, когда появляется pickerView, выбранное значение равно 75. Ниже именно то, что я хочу
но проблема в том, что при прокрутке pickerView
мое приложение вылетает со следующей ошибкой
[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
кто-нибудь, помогите мне, пожалуйста, спасибо заранее:-)
1 ответ
Хотя внутри viewDidLoad
метод, ваш сборщик пуст. Это можно сделать, если вы отложите выполнение вызова select до окончания загрузки данных. Скорее всего, одного цикла будет достаточно.
Вы можете добавить его в viewDidAppear
или же viewWillAppear
Это происходит, потому что вы прокручиваете до index
75 до pickerView
инициализировал, что cell
. UIPickerView
Сначала инициализирует только видимые ячейки, а при прокрутке инициализирует остальные ячейки.
Сделайте это в viewDidAppear
override func viewDidAppear(_ animated: Bool) {
pickerView.selectRow(75, inComponent: 0, animated: true)
}