2012-06-25 30 views
7

Estoy tratando de restablecer el UIPickerView con el botón de clic. Mi identificación de pickerview se crea en tiempo de ejecución, ya tengo delegados establecidos. Tras Google, encontréCómo restablecer UIPickerView al índice: 0, iPhone

[pickerView reloadAllComponents]; 

Pero esto hace que mi accidente cada aplicación que llegue aquí.

El objeto en el índice 0 es "Seleccionar de la lista" y luego los elementos. Cuando se hace clic en el botón Enviar, quiero que "Seleccionar de la lista" permanezca en la parte superior de mi etiqueta (índice seleccionado: 0).

Aquí está mi código

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

    } 

y, por clic de botón:

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

Alguna idea de lo que estoy haciendo mal?

Gracias

+3

Parte del código de depuración ayudaría mejor. –

Respuesta

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

¿Al hacer clic en el botón? me da un accidente – FirstTimer

+1

¿Has asignado tu matriz? es la primera vez que funciona bien ?? .. puede mostrar su registro de fallas aquí ... lo que está sucediendo exactamente ... – Abhishek

3

versión Swift:

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

Cuestiones relacionadas