1

好的,所以目前在我正在开发的应用程序中,我正在使用(阅读:hacking)aUIDatePicker模式设置UIDatePickerModeCountDownTimer为允许用户输入他们等待的时间。这个问题是你不能限制最大值(我希望它是 5 小时),因为UIDatePickerModeCountDownTimer忽略了maximumDateandminimumDate属性。

所以我尝试将模式更改为UIDatePickerModeTime,这确实允许我设置限制。现在的问题是,UIDatePickerModeTime它似乎没有调用widthForComponent:titleForRow:组件非常薄并且没有标题。

以前,它们看起来非常漂亮,但限制不可调整。如何更改这些组件的宽度?我添加了屏幕截图,以便您了解我的意思(请原谅图片中的法语,我正在处理应用程序的法语本地化)。

这是我在 SO 上的第一篇文章,在一直使用它之后,所以如果我忘记了什么,请告诉我。我会发布代码,但我不认为我被允许(公司规则),而且这一切都令人费解。

这是将模式设置为UIDatePickerModeCountDownTimer(也就是我希望它的外观):

http://i.imgur.com/ZX9Hx.png

这就是模式设置为UIDatePickerModeTime(也就是功能更多,但看起来不太好)的样子:

http://i.imgur.com/TE2X6.png

UIDatePickerModeCountDownTimer或者,如果有人有办法让我设置一个上限,在该模式下启用“0 小时 0 分钟”(目前,它禁用此选项,因为它被设计为倒数计时器),请让我知道!

谢谢!

PS:我正在使用 iOS SDK 6.0 和 ARC,部署目标为 iOS 5.0+

PPS:“垃圾邮件预防”不允许我发布图片,因为我没有代表。所以我离开了imgur链接

编辑:这是我设置组件宽度的代码。我的应用程序中有其他自定义UIPicker的数据源和所有这些东西,但我宁愿不为应该如此简单的东西制作另一个自定义 UIPicker。

- (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"];
    }

}


- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {

    return 160.0f;

}
4

0 回答 0