如何检查日期是否在UIDatePicker中修改?

时间:2013-03-26 10:29:16

标签: iphone ios cocoa-touch nsdate uidatepicker

我正在使用UIDatePicker来选择日期。加载视图时日期选择器最短日期设置为当前日期,对于我的规范,我需要知道是否在UIDatePicker中进行了任何修改。< / p>

if ([[date_picker minimumDate] compare:[date_picker date]] != NSOrderedSame) {
  printf("value modified");
}

我已尝试过上述条件,但即使我没有修改日期,它总是不匹配。我做错了吗?我怎么找到它?

1 个答案:

答案 0 :(得分:1)

像这样设置datepicker的控件事件

   [date_picker addTarget:self
               action:@selector(pickerChanged:)
     forControlEvents:UIControlEventValueChanged];

并在pickerChanged方法中获取其值

    - (void)pickerChanged:(id)sender{
             selectedDate=[sender date];
       }

进行日期比较
    if ([initialDate compare:selectedDate]!=NSOrderedSame)
        {
           NSLog(@"modified");
         // two dates are same and the date formatting of the two dates must be same
        }

所以无论何时更改日期,都会触发此方法,initialDate是在视图加载时设置的值