UIDatePicker UIDatePickerModeCountDownTimer模式无法选择零分钟

时间:2010-10-23 20:47:57

标签: iphone objective-c cocoa-touch

我在UIDatePicker模式下使用UIDatePickerModeCountDownTimer,用户可以选择小时和分钟,但不会让用户选择零小时和零分钟。 如果小时数设置为零并且用户尝试选择零分钟,则会自动跳转到01。

我研究了文档,似乎没有任何东西可以让我这样做,没有创建自定义选择器。 创建自定义选择器的问题是我在选择指示器(小时,分钟)中丢失了标题,似乎没有办法添加它们。 我一直在寻找过去2天的答案!我无法相信UIPickerView没有为每个部分设置指标标题的属性。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

如果您确实选择创建自定义UIPicker,则可以使用titleForRow方法更改每个组件中的标签(例如“小时”,“分钟”等)。

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    if(component == 0){
        return [NSString stringWithFormat:@"Hours"];
    }else if (component == 1){
        return [NSString stringWithFormat:@"Minutes"];
    }
}

答案 1 :(得分:1)

我认为倒数计时器不适合不倒计时。所以,你至少有一分钟。如果您根本不需要计时器,则需要一个额外的开关来启用倒计时。

顺便说一下,我偶然发现了一个相反的问题。我将间隔设置为5分钟。然后,我可以选择0分钟。我想知道如何防止用户设置为0.事实上,在我的情况下,我也得到1分钟,只有选择器显示为0.

因此,您可以使用此选项让用户在选择器中选择0,然后在代码中将1分钟解释为0。但我不会这样做,因为选择器的行为将来可能会发生变化。我认为当前行为是一个错误。