2011-09-28 9 views
6

Sono in grado di trovare un post che insegna a utilizzare il metodo delegate per verificare se la riga è valida e quindi scorrere verso destra se non lo è.Posso disabilitare la selezione in specifici oggetti UIPickerView?

Ma non è quello che voglio. Posso disabilitare la riga specifica dopo che il pickerView è stato inizializzato? Come "Gray-out" la riga e non può fermare l'indicatore su di esso.

Grazie, esperti.

risposta

10

Ci sono due parti per farlo.

  1. Usa -[<UIPickerViewDelegate> pickerView:viewForRow:forComponent:reusingView:] per restituire una visualizzazione personalizzata per ogni riga, come ad esempio un UILabel. Per la riga che vuoi mostrare come disabilitata, devi configurare la vista per riflettere quella disabilita.
  2. In -[<UIPickerViewDelegate> pickerView:didSelectRow:inComponent:], è necessario rilevare quando è selezionato Disabilitato, quindi utilizzare -[UIPickerView selectRow:inComponent:animated:] per "rollback" su una riga "valida".
+1

ho qualche idea ora, grazie. – mineschan

+1

Grazie mille per l'informazione ... Funziona perfettamente .... – iOSAppDev

0

Si potrebbe anche solo lasciare un vuoto nella realizzazione, ad es .:

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
    if(row==0){ 
//Code 
} 
if(row==1){ 

//BLANK 

} 
if(row==2){ 
//Code 
} 
Problemi correlati