1

アプリに多数の UIPicker があります。ユーザーがテキスト コントロールをタップすると、ピッカーが表示され、ユーザーが値を選択できるように設定しました。その値はテキスト フィールドに表示されますが、UIPicker が表示されたときにテキスト フィールドに初期値が入力されるようにしたいと考えています。現時点では、ユーザーがピッカーを物理的に移動するまで、テキスト フィールドは入力されません。

コード:

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    if([pickerView isEqual: routePicker])
    {
        route.text = [[routeArray objectAtIndex:row] valueForKey:@"route_name"];
    } 
    else if([pickerView isEqual: timePicker])
    {
        if (component == 0)
        {
            selectedHour = [hourArray objectAtIndex:row];
        } 
        else if (component == 1)
        {
            selectedMinute = [minuteArray objectAtIndex:row];
        } 
        else if (component == 2)
        {
            selectedSecond = [secondArray objectAtIndex:row];
        }
        time.text = [NSString stringWithFormat:@"%@:%@:%@", selectedHour, selectedMinute, selectedSecond];
    }
    else if([pickerView isEqual: activityPicker])
    {
        activity.text = [activityArray objectAtIndex:row];
    }
    else if([pickerView isEqual: intensityPicker])
    {
        intensity.text = [intensityArray objectAtIndex:row];
    }
}

よろしく、スティーブン

4

1 に答える 1

0

テキストフィールドデリゲートメソッドでピッカーを開く前に

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
 if(textField.tag==kINTENSITYTEXTTAG)
 {
  if(![intensity.text length])
  {
   intensity.text = [intensityArray objectAtIndex:0];
  }
 }
// SAME FOR REMAINING textFields Based on the tag to get which textfield is selected
}

ハッピーコーディング...

于 2010-09-22T08:24:28.353 に答える