2011-09-28 72 views
0

我需要添加一個日期組件到我的PickerView。關於如何獲取日期組件的任何想法?一種方法是手動維護所有日期相關信息,將當前日期添加和減去以獲取請求日期,但這是非常乏味的,任何其他方法?pickerview如何使用日期組件?

Integrated PickerView with date component

編輯:我現在還沒有要編寫代碼,我需要如何去獲取值的日期部分(不是UI)的一些想法。我的一個解決方案是採取當前日期,然後使用'dateByAddingTimeInterval'來維持過去50天和未來50天,但他的方法非常粗糙。有一個更好的方法嗎?

+0

好問題,但我認爲唯一的方法是通過委託的方法創建自定義視圖。 – Nekto

+0

自定義視圖是好的,所以你的意思是有2個撿取者放置在另一個旁邊?但是,可以實現所需的用戶界面細節? –

+0

回答=) – Nekto

回答

0

我繼續前進,並採用了我在問題中提到的相同方法(下面給出)。儘管它很粗糙,但它完成了工作。我還沒有在第三個組件中測試這種方法以獲取較大的日期值。截至目前,我只有(30 + 30)值,包括當前日期和相當穩定和快速。

「我的一個解決方案是取當前日期,然後使用'dateByAddingTimeInterval''來維持過去50天和未來50天,但他的方法非常粗糙。」

1

從評論去這裏:

我建議你試試這個方法。

  1. 創建一個UIPickerView
  2. 設定它的參數(在一個實現UIPickerViewDataSource類步驟1):
    1. 實施- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView,將提供部件數目。在你的情況下,它是:return 3;
    2. 執行- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component,將返回每個組件的行數。
  3. 設定它的參數(在類步驟1實現UIPickerViewDelegate):
    1. 實施- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view將返回UILabel用於組分和和UIView具有兩個UILabel的作爲子視圖(灰色一個和黑色)用於部件

您也可以通過實現委託類的其他方法使更多的定製:

設置的選擇器視圖

– pickerView:rowHeightForComponent: 
– pickerView:widthForComponent: 

的尺寸設置組件行的內容

– pickerView:titleForRow:forComponent: 

您可以在這裏找到的方法的完整列表:UIPickerViewDelegate Protocol Reference

+0

哎呀,我應該已經更清楚了,用戶界面很好,我很擔心我將饋送給行組件的值。特別是第三個組件,我如何在Pickerview中複製整個日曆的值。 –

+0

生成這個值時有什麼問題?發佈您的當前代碼 – Nekto

+0

UpVote的詳細說明,但這不是我正在尋找,我已編輯的問題。 –

相關問題