有没有可能将pickerview重置为开始位置?

时间:2012-06-25 09:52:52

标签: iphone ios5 xcode4.3

我已将我的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];
}

1 个答案:

答案 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中调用此方法,那么每次用户选择一行时,选择器都会自动转到第一行...