我在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后如何重置它?
对不起,我是新来的。谢谢你的帮助。
答案 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中,返回的初始值全为零。