Разделитель строк в UIPickerView

Как мне скрыть разделитель в моем окне выбора? Вот скриншот ,

Вот код для моего пользовательского UIPickerView.

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {

UILabel *label=[[UILabel alloc]init];
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor whiteColor];
label.textAlignment=NSTextAlignmentCenter;

switch (component) {
    case 0:
        label.text=[_hourArray objectAtIndex:row];
        label.font = [UIFont fontWithName:@"MYRIADPRO-REGULAR" size:70];
        break;

    case 1:
        label.text=[_minutesArray objectAtIndex:row];
        label.font = [UIFont fontWithName:@"MYRIADPRO-REGULAR" size:70];
        break;

    case 2:
        label.text=[_ampmArray objectAtIndex:row];
        label.font = [UIFont fontWithName:@"MYRIADPRO-REGULAR" size:15];

        break;

    default:
        break;
}
return label;
}

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 3;
}

Пожалуйста, помогите мне. Спасибо

2 ответа

Чтобы скрыть индикатор выбора для UIPickerView:

_pickerView.showsSelectionIndicator = FALSE;

Вы можете сделать это в коде (как выше) или в Интерфейсном Разработчике:

введите описание изображения здесь

редактировать

Согласно документации Apple:

В iOS 7 и более поздних версиях вы не можете настроить индикатор выбора в представлении выбора. Индикатор выбора отображается всегда, поэтому установка этого свойства на NO не имеет никакого эффекта.

В Swift 5 вы можете использовать этот обходной путь. Просто добавьте этот код в свой класс viewcontroller:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    for i in 1...2 {
        myPickerView.subviews[i].isHidden = true
    }
}

Создать подкласс UIPickerView где вы переопределите didAddSubview, Если добавленное подпредставление имеет высоту <= 1,0, то это разделитель, и вы можете скрыть и / или удалить его.

Другие вопросы по тегам