好的,所以目前在我正在处理的应用程序中,我正在使用(读取:黑客)UIDatePicker
并将模式设置为UIDatePickerModeCountDownTimer
,以允许用户输入他们的时间量等待着。这个问题是您不能限制最大值(我希望它是5小时),因为UIDatePickerModeCountDownTimer
会忽略maximumDate
和minimumDate
属性。
所以我尝试将模式更改为UIDatePickerModeTime
,这允许我设置限制。现在的问题是,UIDatePickerModeTime
似乎没有调用widthForComponent:
或titleForRow:
,而且组件非常薄且没有标题。
以前,他们看起来非常好,但限制不可调整。如何更改这些组件的宽度?我添加了截图,这样你就可以看到我的意思了(原谅法语中的照片,我正在使用法语本地化应用程序)。
这是我在SO上的第一篇文章,一直使用它,所以如果我忘了什么,请告诉我。我会发布代码,但我认为我不允许(公司规则),而且无论如何它都是错综复杂的。
这是将模式设置为UIDatePickerModeCountDownTimer
(也就是我想要它看起来的方式):
这就是它的模式设置为UIDatePickerModeTime
(也就是具有更多功能但看起来不太好的模式)的样子:
或者,如果有人让我在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;
}