0

我有 3 行数据,UIPickerView即 timeHour、timeMinute、timeSecond。如何收集数据,在我从中选择后在我的 labelTime 显示它UIPickerView?我在下面使用此代码,但它只收集我的第一行数据(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 时?

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

4

2 回答 2

0

只需编写此代码。

[yourPickerView reloadAllComponents];

我想这会对你有所帮助。

于 2012-06-22T09:01:20.907 回答
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,然后在您的数据源中,将返回的初始值全为零。

于 2012-06-22T09:08:11.493 回答