2012-06-25 2 views
7

Я пытаюсь сбросить UIPickerView при нажатии кнопки. Мой идентификатор pickerview создается во время выполнения, у меня уже есть делегаты. После прибегая к помощи, я нашелКак сбросить UIPickerView для индексации: 0, iPhone

[pickerView reloadAllComponents]; 

Но это делает мой крах приложения каждый раз, когда он достигает здесь.

Объект в индексе 0 - «Выбрать из списка», а затем элементы. Когда нажата кнопка отправки, я хочу, чтобы «Выбрать из списка» должен оставаться в верхней части моей метки (выбранный индекс: 0).

Вот мой код

ViewDidload 

pickerView = [[UIPickerView alloc] init]; 
    pickerView.delegate = self; 
    pickerView.dataSource = self; 

    -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ 
     return 1; 
    } 


// Total rows in our component. 
    -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ 
     return [nameArray count]; 
    } 

// Display each row's data. 
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
    return [nameArray objectAtIndex: row]; 
    } 

// Do something with the selected row. 

    -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ 
     dlbl.hidden=YES; 
     NSLog(@"You selected this: %@", [nameArray objectAtIndex: row]); 
     [btnSelectDesigner setTitle:[nameArray objectAtIndex: row] forState:UIControlStateNormal]; 

    } 

и, по нажатию кнопки:

-(IBAction)btnSubmitClicked:(id)sender{ 
[pickerView reloadAllComponents]; 
} 

Любая идея, что я делаю неправильно?

Благодаря

+3

Часть кода поможет отладки лучше. –

ответ

25
[picker reloadAllComponents]; 
[picker selectRow:0 inComponent:0 animated:YES]; 
5
//use this line for going at the top of the label index 0: 

[picker selectRow:0 inComponent:0 animated:YES]; 
+0

Нажатие кнопки? дает мне сбой – FirstTimer

+1

Вы выделили свой массив? это первый раз, когда он работает нормально? .. Можете ли вы показать свой журнал сбоев здесь .. что происходит точно .. – Abhishek

3

Swift версия:

picker.selectRow(0, inComponent: 0, animated: true)

Смежные вопросы