0

UIDatePicker日付の選択に使用しています。ビューの日付ピッカーをロードするときに、最小日付が現在の日付で設定されました。私の仕様では、変更が行われたUIDatePickerかどうかを知る必要があります。

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

上記の条件で試してみましたが、日付を変更していなくても常に一致しません。私は何か間違ったことをしていますか?どうすればそれを見つけることができますか?

4

1 に答える 1

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 は、ビューがロードされたときに値が設定されます

于 2013-03-26T10:34:36.957 に答える