UIDatePicker to show year only

前端 未结 6 512
时光取名叫无心
时光取名叫无心 2020-12-07 00:51

Is there a way to have a UIDatePicker show year only?

6条回答
  •  感情败类
    2020-12-07 01:41

    I have a little code that I was about to delete, but the snippet is better off if it is online somewhere. It's not amazing, but it is searchable!

    Objective-C code to create an array of all years since 1960. Perfect for input into a UIPicker

    //Get Current Year into i2
    NSDateFormatter* formatter = [[[NSDateFormatter alloc] init]autorelease];
    [formatter setDateFormat:@"yyyy"];
    int i2  = [[formatter stringFromDate:[NSDate date]] intValue];
    
    
    //Create Years Array from 1960 to This year
    years = [[NSMutableArray alloc] init];
    for (int i=1960; i<=i2; i++) {
        [years addObject:[NSString stringWithFormat:@"%d",i]];
    }
    

    The UIPickerView data source and delegate methods:

    - (NSInteger)numberOfComponentsInPickerView: (UIPickerView*)thePickerView {
        return 1;
    }
    
    - (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component
    {
        return [years count];
    }
    - (NSString *)pickerView:(UIPickerView *)thePickerView
    titleForRow:(NSInteger)row forComponent:(NSInteger)component
    {
        return [years objectAtIndex:row];
    }
    

    Don't forget the declaration in the interface

    //Data
    NSMutableArray *years;
    

    The out put of it is

    enter image description here

    Referenced from here

提交回复
热议问题