Objective-C - 具有自定义值的UIDatePicker
问题描述:
因此,理想情况下我想使用UIDatePicker来显示日期。但不是显示特定日期(对于最左边的组件),如Feb 2
,我希望它显示一个自定义值,例如Peter's birthday
。Objective-C - 具有自定义值的UIDatePicker
有没有办法通过使用UIDatePicker
来实现这一点?或者我必须创建一个UIPickerView
,并为其提供日期和我的自定义值的数据源?
如果是这样,我会如何用日期喂它(我的dataSource会是什么样子)?
答
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;
}
}
好的,我明白了。我将如何去为组件1提供像UIDatePicker一样的日期值? '[NSArray arrayWithObjects:@“Jan 1”,@“Jan 2”,nil]'等等?我可以获得日期前缀吗?像“Sun Jan 1”,“Mon Jan 2”等等? – 2012-02-01 14:00:00
您的意思是分量0(第一个)或1(秒)?我以为你想要第一个像一个自定义标题... – 2012-02-01 14:13:32
抱歉打字。是组件0(第一个,最左边的组件)。 – 2012-02-01 15:16:02