2017-05-03 1 views

답변

0
-(void) dateTextField:(id)sender 
{ 
    UIDatePicker *picker = (UIDatePicker*) dateOfBirthField.inputView; 
    // [picker setMaximumDate:[NSDate date]]; 
    [picker setMinimumDate:[NSDate date]]; 

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    NSDate *eventDate = picker.date; 
    [dateFormat setDateFormat:@"yyyy/MM/dd"]; 

    NSString *dateString = [dateFormat stringFromDate:eventDate]; 
    dateOfBirthField.text = [NSString stringWithFormat:@"%@",dateString]; 
} 
+0

UIDatePicker가 아닌 MDDatePicker 타사 라이브러리를 사용하고 있습니다. –

+0

최소 날짜를 설정하는 곳. 해당 방법 또는 속성을 따라 라이브러리에서 최대 날짜를 검색하십시오. –

0

MDDatePickerDialog 클래스는 최소 날짜를 관리 할 수 ​​MDCalendar를 사용합니다. 당신이 MDCalendar의 구현에 보면됩니다 당신은 initialize 방법으로 다음과 같은 구현을 찾을 수 있습니다 :

_maximumDate = [NSDateHelper mdDateWithYear:2037 month:12 day:31]; 

먼저 당신이 이동할 수이 필요한 변수 확인하기 위해 선택의 정적 값이 날짜를 설정하십시오 속성 선언을 MDCalendar의 헤더 파일에 추가하여 클래스 외부에서이 변수를 maximumDate 변수에 액세스 할 수 있도록합니다. 다음 단계로 MDDatePickerDialog에 속성을 만들어 최소 날짜를 설정하는 것과 같은 방식으로 최대 날짜를 설정할 수 있습니다.

MDDatePicker.m 파일

- (void)setMinimumDate:(NSDate *)minimumDate { 
    self.calendar.minimumDate = minimumDate; 
} 

P.S.에서 일부 날짜 유효성 검사는 유효해야하며 최대 날짜는 최소 날짜보다 짧아야합니다.

희망이 있습니다!

0

당신이 원하는 것은 무엇이든간에 원하는 날짜를 추가하면됩니다. 여기서는 현재 날짜에서 일주일 만 선택해야합니다. 그래서 여기에 내가 작성한 코드가 있습니다. 여기에 날짜를 보여주는 곳이 있습니다. MDCalender.m 파일에이 방법을 검색하고이 코드로 대체 그 후

- _datePicker.maximumDate = [[NSDate date] dateByAddingTimeInterval:60*60*24*7]; ; 

: 선택 도구는 한 줄을 추가합니다.

- (BOOL)shouldSelectDate:(NSDate *)date { 
    BOOL result; 
    if ([self.maximumDate timeIntervalSince1970] >= date.timeIntervalSince1970) { 
     result = 
     (date.timeIntervalSince1970 >= self.minimumDate.timeIntervalSince1970); 
     return result; 
    } 
    return result; 
} 

나를 위해 일했습니다. 감사합니다

관련 문제