更改UIDatePickerModeTime中的组件宽度

时间:2012-12-10 14:36:30

标签: iphone ios uidatepicker uidatepickermodetime

好的,所以目前在我正在处理的应用程序中,我正在使用(读取:黑客)UIDatePicker并将模式设置为UIDatePickerModeCountDownTimer,以允许用户输入他们的时间量等待着。这个问题是您不能限制最大值(我希望它是5小时),因为UIDatePickerModeCountDownTimer会忽略maximumDateminimumDate属性。

所以我尝试将模式更改为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;

}

0 个答案:

没有答案