Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从3行UIPickerView收集数据_Iphone_Ios5_Xcode4.3 - Fatal编程技术网

Iphone 从3行UIPickerView收集数据

Iphone 从3行UIPickerView收集数据,iphone,ios5,xcode4.3,Iphone,Ios5,Xcode4.3,我在UIPickerView中有3行数据,即timeHour、timeMinute、timeSecond。如何收集数据,在我从UIPickerView中选择数据后,在我的实验室时间显示数据?我正在使用下面的代码,但它只收集我的第一行数据(timeHour) 我想在labelTime中显示的是这样的->hh:mm:ss(假设是99:59:59)。以及每次启动UIPickerView返回00:00:00后如何重置它 对不起,我是新来的。谢谢您的帮助。只需编写以下代码 [yourPickerView

我在
UIPickerView
中有3行数据,即timeHour、timeMinute、timeSecond。如何收集数据,在我从
UIPickerView
中选择数据后,在我的实验室时间显示数据?我正在使用下面的代码,但它只收集我的第一行数据(timeHour)

我想在labelTime中显示的是这样的->hh:mm:ss(假设是99:59:59)。以及每次启动UIPickerView返回00:00:00后如何重置它

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

只需编写以下代码

[yourPickerView reloadAllComponents];

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

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

每次有人旋转选择器中的一个不同列时,都会调用您正在讨论的函数

我想你需要像下面这样的东西

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,然后在您的数据源中,将初始值返回为全零。

您能在此处显示选择器视图的屏幕截图吗?我有点糊涂了对不起,我已经放进去了,但是没有零钱。每次我打电话给我的选择器,再次关闭,然后再次打开,位置仍然不变,不会重置。或者,我放错地方了吗?有什么建议吗?非常感谢。
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