Как выбрать значение изначально, когда появится окно выбора? - PullRequest
0 голосов
/ 28 октября 2011

Я установил внешний вид выбора в текстовом поле, начал редактировать и скрыть клавиатуру.Теперь проблема в том, что когда появляется окно выбора, оно отображает индикатор выбора на первом значении, но это значение не отображается в текстовом поле.Я хочу, чтобы, когда пользователь нажимал на текстовое поле, появлялось окно выбора, и значение из окна выбора отображалось в текстовом поле, где размещается индикатор выбора.Как это сделать?Предположим, у меня есть четыре значения в том же порядке 0,1,2,3.Теперь, когда появляется окно выбора, индикатор выбора имеет значение «0».Но чтобы получить это значение, мы должны прокрутить представление выбора и вернуться к «0», тогда оно отобразит это значение в текстовом поле.Почему это происходит?А как получить значение автоматически?

Спасибо заранее ...

1 Ответ

1 голос
/ 28 октября 2011

Ну, нет никакой связи между вашим видом сборщика и текстовым полем - вы должны сделать это самостоятельно.

Есть две вещи, которые следует учитывать:

1) Ваше текстовое поле ужесодержит значение, скажем, «1».Когда вы открываете сборщик, вы можете установить его на это значение уже с помощью функции

[yourPicker selectRow:1 inComponent:0 animated:false]

, предполагая, что ваш массив данных для сборщика равен [0, 1, 2, 3],В вашем случае, чтобы текстовое поле содержало значение 0, просто вызовите

[textField setText:@"0"]

2) Когда вы закончите работу со средством выбора, оно вызывает функцию делегата

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

Таким образом, вы должны заставить ваше представление реализовывать протокол UIPickerViewDelegate , реализовать в нем вышеупомянутую функцию делегата и установить представление как делегат представления выбора.В функции делегата вы можете получить выбранное пользователем значение (используя row для доступа к значениям массива данных) и установить это значение в текстовом поле.

...