Domanda

Se ho un UIPickerView con tre componenti (quadranti). In che modo il selettore gestisce due quadranti che ruotano contemporaneamente? Ad esempio, l'utente può scorrere il primo quadrante, che gira liberamente e fare clic lentamente lentamente su una selezione sul secondo quadrante.

Sto facendo quanto segue nel selettore. Se gira un quadrante, non ne acquisisco il valore. Catturo i valori solo quando i quadranti ruotano uno alla volta.

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{

if(component == 0){
    dateEndCenturyText = (NSString *)[dateCentury objectAtIndex:row];
}
else if(component == 1){
    dateEndDecadeText = (NSString *)[dateYear objectAtIndex:row];

}
else if(component == 2){
    dateEndYearText = (NSString *)[dateYear objectAtIndex:row];
}

Esiste un modo migliore per garantire l'acquisizione di valori anche se ruotano due quadranti?

È stato utile?

Soluzione

La soluzione più solida a questo potrebbe essere quella di aggiornare tutti e tre i valori ogni volta che viene generato l'evento. È possibile recuperare la riga selezionata per qualsiasi componente in UIPickerView utilizzando il seguente metodo:

  

UIPickerView selectedRowInComponent:

     

Restituisce l'indice della riga selezionata in un determinato componente

     

- (NSInteger) selectedRowInComponent: (NSInteger) componente

Spero che questo aiuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top