2010-10-29 128 views
2

我正在創建我自己的UIPickerview日期,因爲我只需要幾個月和幾天,不想要年,所以我不能使用UIDatePicker。當選擇不同的月份時,我似乎無法複製UIDatepicker gray在不可用天數之外的方式。 例如:當11月被選中時,1-30是可選擇的,但31不是在使用UIDatepicker時。有誰知道如何複製這個,並使某些行變灰和不可選。 在此先感謝UIPickerView - 如何使某些行不可選和灰顯

回答

2

我意識到你可能已經想通了這一點,但我想添加爲那些尋找同樣的回答一些進一步的信息。

,你可以嘗試另一種途徑是通過:

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 

在該方法中,你會檢查,看看在pickerView特定組件是否有一個有效的選擇。 - 如果它沒有再重設特定組件與(列爲什麼他們不只是它調用)的有效行:

[pickerView selectRow:validRow inComponent:component animated:YES]; 

這會給大意是如果用戶選擇特定的無效的行,它將向上(或向下)滾動回有效的一個。

此外,您可以更改問題組件的數據集,然後執行:

[pickerView reloadAllComponents]; 

請記住,當你設置的選擇器,你就必須做對這種驗證首先運行,以確保默認情況下,pickerView中沒有無效的數據集。

0

你將不得不編寫自定義選擇器視圖

相關問題