2017-05-03 60 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

我正在使用MDDatePicker第三方庫不是UIDatePicker。 –

+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

你只需要添加日期,無論你想最大限度地發揮作用,在這裏我只需要從當前日期中選擇一個星期的日期,所以這裏是我寫的代碼,你在哪裏顯示日期picker只需添加一行:

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

之後,將此方法搜索到MDCalender.m文件中並用此代碼替換。

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

它爲我工作。謝謝

相關問題