Обновление UIPickerView в реальном времени на TextField - PullRequest
1 голос
/ 02 июня 2011

Как только я прокручиваю UIDatePicker (или) PickerView, мне нужно, чтобы значение отображалось в TextField:

  1. Во время прокрутки. Даже когда сборщик движется, текстовое поле должно обновляться само. Возможно ли это?

  2. В случае, если сборщик прекращает движение и останавливается. Есть ли событие для остановки PickerView, чтобы я мог обновить textField (как только остановится pickerView).

      // I do not wish to use the TextFieldDidEndEditing 
     // I want the textField to update itself when the picker view comes to rest. 
    

Было бы полезно, если бы кто-нибудь мог решить 1) и 2)

Ответы [ 2 ]

4 голосов
/ 02 июня 2011

(1) может быть невозможно.Для (2) вы можете использовать метод делегата pickerView:didSelectRow:inComponent.Дайте мне знать, если вам нужна помощь с этим.

Для UIPickerView

(1) Реализация pickerView:titleForRow:forComponent,

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    // Every time the picker view is rotated, this method will be called to fetch the title.
    NSInteger selectedRow = [pickerView selectedRowInComponent:0];
    // Get selected row like above and process data and update text field.


    [..] // Process the title
    return the title.
}

(2) Это более очевидно.

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
   // You have the selected row, update the text field.
}
0 голосов
/ 02 июня 2011

По первому вопросу это невозможно при использовании элемента управления по умолчанию, однако ничто не мешает вам написать свой собственный и имитировать эффект, используя touchesMoved и т. Д ...

...