Так что у меня есть UIPickerView, который не работает так, как я этого хочу. Он работает правильно примерно 3/4 времени, а другой 1/4 - нет.UIPickerView - выбор неправильной строки-строки
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return listsArray.count
}
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView
{
activeQuizPlace = row
var pickerLabel = UILabel()
pickerLabel.textColor = UIColor.whiteColor()
pickerLabel.text = listsArray[row]
pickerLabel.font = UIFont(name: "Georgia", size: 22)
pickerLabel.textAlignment = NSTextAlignment.Center
return pickerLabel
}
Списки элементов содержат 5 элементов (которые представляют собой строки). Строки 0-2 работают корректно в 100% случаев. Однако, когда выбрана строка 3, она иногда говорит, что строка 1 была, и когда выбрана строка 4, она иногда говорит, что строка 2 была. Я думаю, что проблема имеет какое-то отношение к последней функции, которую я контролирую UIPickerView. Я просто скопировал этот код с этого сайта, чтобы изменить цвет и шрифт текста. Прежде чем я использовал эту функцию, у меня никогда не было проблемы с ней или, по крайней мере, ее никто не заметил. Боковое примечание: я использую Xcode 6.3.2
Мне нужен способ для правильной работы сборщика, а также возможность изменения его шрифта и цвета. Я хотел бы помочь с этим, я искал ответы в Интернете в течение 2 часов и не могу понять, что я делаю неправильно, спасибо заранее!
Можете ли вы также опубликовать свой метод didSelectRow? – Surely
Это весь код, который я использую, связанный с представлением выбора. Это мой первый раз, когда я использую представление UIPicker, поэтому я не уверен, что именно я делаю, может быть, не в этом проблема? Я просто получил значение строк в этом последнем методе с activeQuizPlace = row – Jaxon
привет, поэтому, если я не ошибаюсь, вы используете значение activeQuizPlace для получения той строки, которую выбрал пользователь, не так ли? Это неправильный способ сделать это. Чтобы правильно обработать выбор, вам необходимо реализовать протокол UIPickerViewDelegate и реализовать метод didSelectRow. Посмотрите этот учебник: http://sourcefreeze.com/ios-uipickerview-example-using-swift/ – Surely