从3行UIPickerView收集数据

时间:2012-06-22 08:51:33

标签: iphone ios5 xcode4.3

我在UIPickerView中有3个行数据,即timeHour,timeMinute,timeSecond。如何从UIPickerView中选择数据后,在我的labelTime上显示数据?我在下面使用此代码,但它只收集我的第一行数据(timeHour)。

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    labelTime.text = [timeHour objectAtIndex:[picker selectedRowInComponent:0]];
}

我想在labelTime中显示的内容是这样的 - > hh:mm:ss(比如99:59:59)。以及我每次将UIPickerView发送回00:00:00后如何重置它?

对不起,我是新来的。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

只需编写此代码即可。

[yourPickerView reloadAllComponents];

我认为这会对你有所帮助。

答案 1 :(得分:0)

实际上,我一直认为选择器中的项目为列:

每当有人在您的选择器中旋转其中一列时,就会调用您正在讨论的功能。

我希望你需要类似下面的内容

NSString* hour = [timeHour objectAtIndex:[picker selectedRowInComponent:0]];
NSString* min = [timeMin objectAtIndex:[picker selectedRowInComponent:1]];
NSString* sec = [timeSec objectAtIndex:[picker selectedRowInComponent:2]];
labelTime.text = [hour stringByAppendingFormat:@":%@:%@", min, sec];  // don't forget to 0-pad if desired

至于每次重置视图到00:00:00,如prasad所提到的,在你拥有的委托代码之外,你可以调用reloadAllComponents,然后在你的dataSource中,返回的初始值全为零。