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

相關問題