【问题标题】:iPhone UIDatePicker setMaximumDateiPhone UIDatePicker setMaximumDate
【发布时间】:2010-08-29 23:16:56
【问题描述】:

我正在尝试构建一个日期选择器,它的最小日期为今天,最大日期为 2011 年 2 月 1 日。

我已将最短日期设置如下

[picker setMinimumDate: [NSDate date]];

这很好用,但 MaximumDate 似乎不正确。

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

如何正确设置最大日期?

【问题讨论】:

    标签: iphone datepicker nsdate nsdateformatter


    【解决方案1】:

    找到答案。无论如何感谢您的帮助。

    [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];
    

    【讨论】:

    • 嘿@Matthew,把它设置为正确答案吧!点击复选标记。
    • 它不会让我再这样做 2 天 - 所以我会这样做:D
    【解决方案2】:
     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 和五年(返回)到 maxDate 它只展示了五年......

    【讨论】:

      【解决方案3】:

      您也可以在 Interface Builder 的调色板中执行此操作。我想如果你按下“Command-1”,它会切换到调色板中的一个选项卡,允许你设置选择器的最大日期。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多