我已将我的reloadAllComponents
放在挑选者视图的didSelectRow
内,但它无法将我的挑选者观点位置重置为开始位置。有没有可能在用户选择数据后将我的选择器视图重置为开始位置,因为我使用1个选择器视图作为许多按钮的输入。
我应该写什么代码以及在哪里写呢?
我希望你能理解我的英语。谢谢。
我已经放了代码,但仍然无法将我的pickerView状态置于开始位置。
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
year = [picker selectedRowInComponent:0];
month = [picker selectedRowInComponent:1];
day = [picker selectedRowInComponent:2];
date = @"";
if(viewPicker.tag == 1) {
labelTime.text = [date stringByAppendingFormat:@"%d:%d:%d", year , month, day];
else {
...
}
[picker selectRow:0 inComponent:0 animated:YES];
}
答案 0 :(得分:1)
reloadAllComponents
方法只是查询您的数据源,以便将数据与选择器同步。如果通过'重置'表示您希望选择器将其当前选择移动到第一行,您可以执行以下操作:
// Here we select the first row, in the first component with animation
// Customize it accordingly
[myPicker selectRow:0 inComponent:0 animated:YES];
虽然要小心。如果您在didSelectRow
中调用此方法,那么每次用户选择一行时,选择器都会自动转到第一行...