0

datePickerを使用してtimePickerを作成しています。textFieldをクリックすると、ピッカーが開き、その中の時間を選択しました。その後、選択した時間がそのテキストフィールドに表示されます。私の場合、テキストフィールドに表示される時間を除いて、すべてが正常に機能します。間違った時刻、特に分が表示されます。

これはピッカーを作成するための私のコードです

timePickerView =  [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320, 260)];
timePickerView.backgroundColor = [UIColor clearColor];

    //create toolbar using new
UIToolbar *toolbar1;
toolbar1 = [UIToolbar new];
    //toolbar.barStyle = UIBarStyleBlackTranslucent;
toolbar1.tintColor = [UIColor colorWithRed:0.627 green:0.627 blue:0.655 alpha:1.000];
    //[UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:0.6];
[toolbar1 sizeToFit];
toolbar1.frame = CGRectMake(0, 0, 320, 50);

    //Add buttons
UIBarButtonItem *doneButtone1 = [[UIBarButtonItem alloc]
                                initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                                target:self action:@selector(dismissPicker:)];

    //Use this to put space in between your toolbox buttons
UIBarButtonItem *flexItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                          target:nil
                                                                          action:nil];

    //Add buttons to the array
NSArray *items1 = [NSArray arrayWithObjects: flexItem1, doneButtone1, nil];

    //release buttons
[doneButtone1 release];
[flexItem1 release];

    //add array of buttons to toolbar
[toolbar1 setItems:items1 animated:NO];
[timePickerView addSubview:toolbar1];
[toolbar1 release];

    UIDatePicker *timePicker = [[UIDatePicker alloc]initWithFrame:CGRectZero];
timePicker.autoresizingMask=UIViewAutoresizingFlexibleWidth;
timePicker.datePickerMode = UIDatePickerModeTime;
timePicker.frame = CGRectMake(0, 50.0f, 320.0, 216);
timePicker.tag = 222;
[timePicker addTarget:self action:@selector(selectTime:) forControlEvents:UIControlEventValueChanged];
[timePickerView addSubview:timePicker];
[timePicker release];

そしてこれはテキストフィールドに時間を表示するためのコードです

UIDatePicker *picker =(UIDatePicker *)sender;
DLog(@"%@",picker);

NSDateFormatter *df1 = [[NSDateFormatter alloc] init];
df1.dateStyle = NSDateFormatterMediumStyle;
    //if(picker.tag =222) {
    [df1 setDateFormat:@"HH:MM"];       
    self.timeTF.text = [NSString stringWithFormat:@"%@",[df1 stringFromDate:picker.date]];
    //timeTF.text=[df1 stringFromDate:[NSDate date]];

[df1 release];

時針は正しく表示されますが、分は常に5を表示します

私のコードのエラーは何ですか。誰かplzは私が見つけるのを手伝ってくれますか?

4

1 に答える 1

2

この行が問題です:

[df1 setDateFormat:@"HH:MM"];

MM月、つまり5月= 5

を使用する必要がありますmm

于 2012-05-17T10:12:43.413 に答える