0

我已经把我的pickerview放在reloadAllComponents里面didSelectRow,但它不能将我的pickerview位置重置为开始位置。用户选择数据后是否有可能将我的pickerview重置为起始位置,因为我使用1个pickerview作为许多按钮的输入。我应该写什么代码以及在哪里写?

我希望你能理解我的英语。谢谢你。

我已经输入了代码,但它仍然无法将我的 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];
}
4

1 回答 1

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则每次用户选择一行时,选择器将自动转到第一行...

于 2012-06-25T09:58:26.900 回答