Установить цвет фона строки UIPickerView - PullRequest
1 голос
/ 11 октября 2019

У меня есть два вопроса о представлении выбора.

Как мне установить цвет фона для выбора средства выбора для конкретной строки? Я пытаюсь сделать "разделы", которые будут иметь другой цвет фона. Кроме того, как я могу убедиться, что они не прокручиваются? Я имею в виду, что пользователь не должен иметь возможность «остановиться» на этом выборе, приложение должно просто прокрутить вниз до следующего доступного.

    func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {

    if WhatBool == true{

    }
}

У меня в данный момент есть эта строка. Когда я гуглил по этому вопросу, я не мог найти ничего, что действительно работало, и не для определенной строки. Я делаю не так? Как создать разделы в окне выбора? Казалось, все устарело, поэтому я хотел бы получить некоторую информацию по этому вопросу.

Я думаю, что я должен изменить такие вещи в viewForRow. Но я сейчас застрял.

1 Ответ

2 голосов
/ 11 октября 2019
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {

        var label:UILabel

        if let v = view as? UILabel{
            label = v
        }
        else{
            label = UILabel()
        }
        label.backgroundColor = component == 0 ? .red : .purple
        label.textColor = UIColor.white
        label.textAlignment = .left
        label.font = UIFont(name: "Helvetica", size: 16)

        label.text = arrayOfCountries[row]

        return label
    }

Для разных фонов попробуйте эту логику, она будет работать, а для отключения определенного компонента выполните следующий ответ

Swift UIPickerView отключить компонент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...