3

今日を最小日付とし、2011 年 2 月 1 日を最大日付とする日付ピッカーを作成しようとしています。

次のように最小日付を設定しました

[picker setMinimumDate: [NSDate date]];

これは問題なく機能しますが、MaximumDate は正しくないようです。

[picker setMaximumDate: [NSDate dateWithNaturalLanguageString:@"11/02/01"]];

最大日付を正しく設定するにはどうすればよいですか?

4

3 に答える 3

8

答えを見つけました。とにかく助けてくれてありがとう。

[picker setDatePickerMode:UIDatePickerModeDate];

NSDateFormatter* formatter1 = [[NSDateFormatter alloc] init];
[formatter1 setLenient:YES];
[formatter1 setDateStyle:NSDateFormatterShortStyle];
[formatter1 setTimeStyle:NSDateFormatterShortStyle];

NSString* dateString = @"February 1 2011 10:00am";
NSDate* maxDate = [formatter1 dateFromString:dateString];

[picker setMinimumDate: [NSDate date]];
[picker setMaximumDate: maxDate];
于 2010-08-29T23:34:46.737 に答える
3
 NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
        NSDate *currentDate = [NSDate date];
        NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
        [comps setYear:0];
        NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
        [comps setYear:-5];
        NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];

        [datePicker setMaximumDate:maxDate];
        [datePicker setMinimumDate:minDate];

現在の日付を minDate に、5 年 (前) を maxDate に表示する日付を聞くと、5 年しか表示されません.....

于 2012-08-13T13:11:31.317 に答える
2

InterfaceBuilderのパレットでも実行できます。「Command-1」を押すと、ピッカーの最大日付を設定できるパレットのタブに切り替わると思います。

于 2010-08-31T23:56:20.037 に答える