TextField上的UIPickerView实时更新

时间:2011-06-02 15:32:21

标签: iphone objective-c xcode uipickerview textfield

当我滚动PickerView(或)UIDatePicker时,我需要将值显示在TextField上:

  1. 滚动时。即使选择器正在移动,文本字段也应该更新。有可能吗?

  2. 如果Picker停止移动并停下来。 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. 
    
  3. 如果有人能解决1)和2)

    ,将会有所帮助

2 个答案:

答案 0 :(得分:4)

(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.
}

答案 1 :(得分:0)

对于第一个问题,使用默认控件是不可能的,但是没有什么可以阻止你自己编写并使用touchesMoved等模拟效果...