2013-07-18 2 views
1

최소 시간 +12 시간의 UIDatePicker 시간 만 표시하고 싶습니다. 여기UIDatePicker : 최소 날짜

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet 
{ 
    NSLog(@"startTimeLabel %@", startTimeLabel); 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"HH:mm a"]; 
    NSDate *minimumTime = [formatter dateFromString:startTimeLabel]; 
    NSLog(@"minimumTime Formatted %@", minimumTime); 


    UIDatePicker *pickerView = [[[UIDatePicker alloc] init] initWithFrame:CGRectMake(0, 40, 320, 216)]; 

    pickerView.datePickerMode = UIDatePickerModeTime; 
    [pickerView setMinimumDate:minimumTime]; 

    [pickerView setMinuteInterval:15]; 
    [pickerView setTag: kDatePickerTag1]; 
    //Add picker to action sheet 
    [actionSheet addSubview:pickerView]; 
    NSArray *subviews = [actionSheet subviews]; 
} 

로그됩니다 :

2013-07-17 18:13:37.682 MeetingTime[12294:c07] startTimeLabel 6:15 PM 
2013-07-17 18:13:37.683 MeetingTime[12294:c07] minimumTime Formatted 2000-01-01 20:15:00 +0000 

Q1 다음은 내 코드입니다. startTimeLabel이 오후 6시 15 분으로 표시되지만 형식 후에는 20 : 15 : 00 + 0000입니다. 18:15가 아니어야합니까? 내 형식이 잘못 되었습니까? 나는 데이트 할 필요가 없다. 내가 그걸 없앨 수 있을까?

2. 선택기에서 startTimeLabel에서 최소 시간을 가져 와서 minimumTime으로 사용하고 싶습니다. 최소 시간 전에 아무 것도 보여줄 수 있습니까? 즉 startTimeLabel이 오후 6시 15 분이면 UIPicker의 유일한 옵션은 오후 6시 30 분 + 12 시간입니까? 이것을 어떻게 할 수 있습니까? 감사.

+0

Q1. 귀하의 시간대는 무엇입니까? – Raptor

+0

미국 태평양 표준시 (PST)입니다. 하지만 나는 어떤 시간대에서도 일하기를 원한다. – user1107173

답변

0

Q1의 경우 응답은 here입니다.

Q2의 경우 값이 startTimeLabel 인 것을 확인하고 12 시간을 더한 다음 메서드로 UIDatePicker의 최소 날짜로 설정할 수 있습니다.

+0

감사합니다. 질문 2 : setMinimumDate 시간이 오후 4 시인 경우 UIPicker는 오후 4시 이후의 시간 만 표시 할 수 있습니까? 위의 코드를 사용하여이를 수행하려고 시도하지만 UIPicker는 24 시간 전체를 표시하고 있습니다. 기본적으로, 나는 UIPicker가 minimumDate 전에 언제든지 표시되기를 원하지 않습니다. – user1107173

+0

사용자가 날짜/시간을 선택할 때 추가 점검이 필요할 수 있습니다. – Raptor

+0

나는 너를 따라갈 지 모르겠다. 사용자가 시간을 선택하게하고 변수 startTimeVariable에 저장합니다. 그런 다음 NSDate 형식으로 변환하고 minimumDate 변수에 저장합니다. 다시 말하지만, UIPicker가 minimumDate에 저장되기 전에 시간을 표시하지 않는 위치에 만들 수 있습니까? 사용자가 오후 4시를 선택하면 UIPicker는 오후 4시 이후의 시간 만 표시합니다. 그렇다면 코드는 무엇입니까? 위 코드는 작동하지 않습니다. 감사. – user1107173