是否可以在iOS中用英语创建格式为YYYY-MM-DD的UIDatePicker?

时间:2014-05-28 14:40:57

标签: ios xcode cocoa uidatepicker

我正在尝试实施允许用户选择出生日期的UIDatePicker。这将是相对简单的,但是还要求用户超过18岁。这不是问题(UIDatePicker具有允许我指定的minimumDate属性),但它确实存在可用性问题。

如果您选择日期,请举例说,5月4日。将语言环境设置为en_GB,这将显示为2014年5月4日。让我们假设此日期在今天之后。在你有机会改变年份之前,比方说,1977年,日期选择器将迫使日期回到今天。

我想通过将显示格式更改为YYYY-MM-DD来解决此问题,而无需实现UIPickerView(可能需要大量工作才能正确实施的解决方案)。有没有办法用UIDatePicker执行此操作,允许相同的日期执行,同时具有更好的可用性?我最好不要在没有自定义类的情况下这样做(显然私有API是 - 不能冒着从App Store拒绝的风险)。或者,是否有更好的方法来实施出生日期选择器?

2 个答案:

答案 0 :(得分:0)

您想要切换选择器的列顺序:

不,这是不可能的。

也许您可以找到一些具有Y / M / D格式的区域设置

答案 1 :(得分:0)

我在没有创建自定义选择器的情况下看到的唯一方法是使用

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

您可以检查用户是否在有效选择上,否则您可以强制选择器保持在有效位置。假设用户每次滚动其中一行时都应执行验证检查,而不是为datePicker设置最小和最大日期