2

我正在为日期创建自己的 UIPickerview,因为我只需要月份和日期并且不需要年份,所以我不能使用 UIDatePicker。When different months are selected I cannot seem to replicate the way UIDatepicker gray's out the unavailable days. 例如:选择11月1日是可以选择的,但使用UIDESPICKER时31不是31。有谁知道如何复制它并使某些行变灰且无法选择。提前致谢

4

2 回答 2

2

我意识到您可能已经想通了,但我想为那些寻找相同答案的人添加一些进一步的信息。

您可以尝试的另一种方法是通过:

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

在该方法中,您将检查 pickerView 中的特定组件是否具有有效选择。如果没有,则将特定组件(列 - 他们为什么不直接调用它)重置为有效行:

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

这将产生这样的效果,如果用户选择了一个特定的无效行,它将向上(或向下)滚动到一个有效行。

此外,您可以更改相关组件的数据集,然后执行以下操作:

[pickerView reloadAllComponents];

请记住,当您设置选取器时,您必须在第一次运行时进行此验证,以确保默认情况下选取器视图中没有无效数据集。

于 2011-03-12T04:43:59.150 回答
0

您将不得不编写一个自定义选择器视图

于 2010-10-29T22:41:39.147 回答