2010-10-29 2 views
2

Я создаю свой собственный UIPickerview для дат, поскольку мне нужны только месяцы и дни, и мне не нужны годы, поэтому я не могу использовать UIDatePicker. Когда выбраны разные месяцы, я не могу воспроизвести то, как UIDatepicker grey выходит из недоступных дней. Например: когда выбран ноябрь, выбираются дни 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

Вы будете иметь, чтобы написать режим просмотра Picker

Смежные вопросы