UIDatePicker仅显示年份

Jay*_*Jay 14 iphone objective-c ios

有没有办法只有UIDatePicker秀年?

The*_*Dev 15

我有一些我要删除的代码,但如果它在某个地方在线,那么代码段会更好.这并不奇怪,但它是可搜索的!

Objective-C代码创建自1960年以来的所有年份的数组.非常适合输入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]];
}
Run Code Online (Sandbox Code Playgroud)

UIPickerView数据源和委托方法:

- (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];
}
Run Code Online (Sandbox Code Playgroud)

不要忘记界面中的声明

//Data
NSMutableArray *years;
Run Code Online (Sandbox Code Playgroud)

它的输出是

在此输入图像描述

这里引用


Jam*_*ini 5

你不能这样做UIDatePicker,但你可以UIPicker.

您需要创建多年的数组,并UIPicker使用UIPicker委托添加它们

是一个教程.