6

私のプロジェクトでは、日付ピッカー18を表示する必要があり、80年前をロックする必要があるので、日付ピッカーでそれらの日付を表示するにはどうすればよいですか?日付ピッカーに表示する必要があるので、どのように表示できますか

NSCalendar * gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDate * currentDate = [NSDate date];
NSDateComponents * comps = [[NSDateComponents alloc] init];
[comps setYear: -18];
NSDate * minDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
[comps setYear: -100];
NSDate * maxDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
[comps release];

self.datePickerView.minimumDate = minDate;
self.datePickerView.maximumDate = maxDate;

NSLog(@"minDate   %@", minDate);
NSLog(@"maxDate%@", maxDate);
4

2 に答える 2

21

こんにちはまず、最小日付は100年前の日付で、最大日付は18年前の日付である必要があり、pickerViewの日付を日付範囲間の日付に設定して、最終的なコードが次のようになるようにします

NSCalendar * gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDate * currentDate = [NSDate date];
NSDateComponents * comps = [[NSDateComponents alloc] init];
[comps setYear: -18];
NSDate * maxDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
[comps setYear: -100];
NSDate * minDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
[comps release];

self.datePickerView.minimumDate = minDate;
self.datePickerView.maximumDate = maxDate;
self.datePickerView.date = minDate;

うまくいけば、これはあなたに役立つでしょう。

于 2012-10-12T07:29:06.127 に答える
2

ビューコントローラークラスのviewDidLoadメソッドはこちら

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.


    NSCalendar * gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
    NSDate * currentDate = [NSDate date];
    NSDateComponents * comps = [[NSDateComponents alloc] init];
    [comps setYear: -18];
    NSDate * maxDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
    [comps setYear: -100];
    NSDate * minDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
    [comps release];



    UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
    [pickerView setMinimumDate:minDate];
    [pickerView setMaximumDate:maxDate];
    [pickerView setDate:minDate];
    [[self view] addSubview:pickerView];

}

私の出力は

ここに画像の説明を入力

出力をスクリーンショットとして共有していただけますか?

于 2012-10-12T10:20:08.060 に答える