2012-06-25 15 views
7

Sto provando a ripristinare il UIPickerView al clic del pulsante. Il mio ID di pick-ahead viene creato in fase di runtime, ho già impostato i delegati. Dopo googling, ho trovatoCome resettare UIPickerView all'indice: 0, iPhone

[pickerView reloadAllComponents]; 

Ma questo rende il mio incidente applicazione ogni volta che raggiunge qui.

L'oggetto nell'indice 0 è "Seleziona dalla lista" e quindi gli elementi. Quando si fa clic sul pulsante di invio, desidero che "Seleziona dall'elenco" rimanga nella parte superiore della mia etichetta (indice selezionato: 0).

Ecco il mio codice

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]; 

    } 

e, sul pulsante di scatto:

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

Qualsiasi idea di cosa sto facendo male?

Grazie

+3

Alcuni codice di debug aiuterebbe meglio. –

risposta

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

Sul pulsante clic? mi dà crash – FirstTimer

+1

Hai assegnato il tuo array ?? è la prima volta che funziona bene ?? .. puoi mostrare il tuo registro di crash qui .. cosa sta succedendo esattamente .. – Abhishek

3

versione Swift:

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