理想情况下,我想使用UIDatePicker来显示日期。但是,我希望它显示一个自定义值,例如Feb 2
,而不是显示特定日期(对于最左边的组件)Peter's birthday
。
使用UIDatePicker
有没有办法实现这一目标?或者我是否必须创建UIPickerView
并使用日期和自定义值的数据源来提供它?
如果是这样,我将如何用日期(我的dataSource会是什么样子)来提供它?
答案 0 :(得分:0)
UIDatePicker只允许您选择日期,时间,日期+时间等预定义样式中的日期...,因此您必须使用UIPickerView。
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 3;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
switch (component)
{
case 0: return self.birthdays.count;
case 1: return 24;
case 2: return 60;
default: return -1;
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
switch (component)
{
case 0: return [[self.birthdays objectAtIndex:row] title];
case 1: return [NSString stringWithFormat:@"%d", row];
case 2: return [NSString stringWithFormat:@"%d", row];
default: return nil;
}
}