iOS7 xCode 5 - 日期选择器选择输出到Label

时间:2014-02-09 00:54:40

标签: xcode ios7 datepicker label

我已经看到了一些与此类似的其他问题,但它们似乎都有不同的解决方案,但它们都没有效果。 我只是想弄清楚这整个xcode的事情,所以如果你不介意保持它相当的解释和易于遵循,这将是绝对伟大和最感激的!

我有一个日期选择器(显示日期和时间)和我的视图中的标签,我希望标签显示日期选择器的当前选择,每次调整日期选择器时更新,在格式如下例所示:

2014年2月9日星期日14:00

此刻,我似乎只能得到标签输出当前日期,这是奇怪的?

另外,我想设置选择器,以便用户以后只能选择日期和时间,而不是过去!

非常感谢您的帮助,非常感谢所有人分享知识:)

1 个答案:

答案 0 :(得分:3)

我相信有几个问题,所以我会在评论中回答:

  
      
  1. 我希望标签显示日期选择器的当前选择
  2.   
  3. 每次调整日期选择器时都会更新
  4.   
  5. 的格式如下,2014年2月9日星期日14:00
  6.   
  7. 设置选择器,以便用户只能选择将来的日期和时间,而不是过去!
  8.   
//declared as a property
UIDatePicker *dateTimePicker; 
NSDateFormatter *dateFormatter;
UILabel *lblDateDisplay;
NSDate *selectedDate;

//in your viewdidload
dateFormatter = [[NSDateFormatter alloc] init];
dateTimePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 0, 300, 220)]; //whatever you want it, I am just listing an example
[dateTimePicker setDatePickerMode:UIDatePickerModeDateAndTime];
[dateTimePicker setHidden:NO];
[dateTimePicker setDate:[NSDate date]]; 
[dateTimePicker setMinimumDate: [NSDate date]]; //no.4
[dateTimePicker addTarget:self action:@selector(dateChangedValue) forControlEvents:UIControlEventValueChanged]; //no.2

//create another method called, dateChangedValue
- (void) dateFromChangedValue { 
  selectedDate = dateTimePicker.date;
  [dateFormatter setDateFormat:@"EEEE dd MMM YYYY HH:mm"]; //no.3
  lblDateDisplay.text = [NSString stringWithFormat:@"%@", [dateFormatter stringFromDate:selectedDate]; //no.1
}

在那里,我完成了。我想你可以尝试这些代码。