1

因此,理想情况下我想使用UIDatePicker来显示日期。但不是显示特定日期(对于最左边的组件),如Feb 2,我希望它显示一个自定义值,例如Peter's birthdayObjective-C - 具有自定义值的UIDatePicker

有没有办法通过使用UIDatePicker来实现这一点?或者我必须创建一个UIPickerView,并为其提供日期和我的自定义值的数据源?

如果是这样,我会如何用日期喂它(我的dataSource会是什么样子)?

回答

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; 
    } 
} 
+0

好的,我明白了。我将如何去为组件1提供像UIDatePicker一样的日期值? '[NSArray arrayWithObjects:@“Jan 1”,@“Jan 2”,nil]'等等?我可以获得日期前缀吗?像“Sun Jan 1”,“Mon Jan 2”等等? – 2012-02-01 14:00:00

+0

您的意思是分量0(第一个)或1(秒)?我以为你想要第一个像一个自定义标题... – 2012-02-01 14:13:32

+0

抱歉打字。是组件0(第一个,最左边的组件)。 – 2012-02-01 15:16:02

相关问题