Могу ли я отключить выбор в конкретном элементе UIPickerView? - PullRequest
6 голосов
/ 28 сентября 2011

Я могу найти пост, который учит использовать метод делегата для проверки правильности строки, а затем прокрутить вправо, если нет.

Но это не то, что я хочу.Могу ли я отключить конкретную строку после инициализации pickerView?Как и «Затенение» строки, и индикатор не может остановиться на ней.

Спасибо, эксперты.

Ответы [ 2 ]

10 голосов
/ 28 сентября 2011

Для этого есть две части.

  1. Используйте -[<UIPickerViewDelegate> pickerView:viewForRow:forComponent:reusingView:], чтобы вернуть пользовательское представление для каждой строки, например UILabel. Для строки, которую вы хотите отобразить как отключенную, вам необходимо настроить представление так, чтобы оно отражало эту инвалидность.
  2. В -[<UIPickerViewDelegate> pickerView:didSelectRow:inComponent:] вам необходимо определить, когда выбрано отключенное, а затем использовать -[UIPickerView selectRow:inComponent:animated:] для «отката» до «действительной» строки.
0 голосов
/ 20 января 2013

Вы также можете просто оставить пробел в реализации, например ::10000

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

//BLANK

}
if(row==2){
//Code
}
...