改变datepicker风格的iphone

时间:2013-02-25 19:14:15

标签: iphone datepicker

我现在拥有的日期选择器具有如下样式:mm / dd / YYYY,它在Textfield中以“YYYY / MM / DD”显示。

如何更改我的代码,以便显示的日期选择器也更改为“YYYY / MM / DD”。 这是我的代码:

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] ;
        NSDate *currentDate = [NSDate date];
        NSDateComponents *comps = [[NSDateComponents alloc] init] ;
        [comps setYear:-10];
        NSDate *maximumDate = [calendar dateByAddingComponents:comps toDate:currentDate  options:0];
        [comps setYear:-10];
        NSDate *minimumDate = [calendar dateByAddingComponents:comps toDate:currentDate  options:0];



        UIDatePicker *datePicker = [[UIDatePicker alloc]init];
        datePicker.datePickerMode = UIDatePickerModeDate;
        [datePicker setMaximumDate:maximumDate];
        [datePicker setMinimumDate:minimumDate];
        [datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
        [self.Birthday setInputView:datePicker] ; 

2 个答案:

答案 0 :(得分:0)

您可以设置DatePicker的locale属性。文档说:

默认值是NSLocale的currentLocale属性返回的当前区域设置,或日期选择器日历使用的区域设置。 Locales封装了有关语言或文化方面的信息,例如格式化日期的方式。

通常认为强制用户以不适合其语言环境的方式进行选择的形式不佳。

答案 1 :(得分:0)

我认为,您无法修改UIDatePicker的默认样式。

使用 NSDateFormatter

,您可以在选择日期后更改为多种格式

示例:

 NSDate *today = [NSDate date];
 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
 [dateFormat setDateFormat:@"MM/dd/yyyy hh:mma"];
 NSString *dateString = [dateFormat stringFromDate:today];
 NSLog(@"date: %@", dateString);