Как использовать регистр переключения в значениях словарных ключей с итерацией - PullRequest
0 голосов
/ 27 августа 2018

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

Моя библиотека временной шкалы с именем StepProgressView не имеет делегата или источника данных. Поэтому я не могу изменить цвет текста в итерации с моими ключами.

В моей библиотеке временных рядов есть titleLabel и subtitleLabel. Если вы хотите, как это работает, вы можете проверить библиотеку по этой ссылке

В моем проекте есть массив заголовков и субтитров. Когда я добавляю заголовки в мой массив, он дает мне временную шкалу с элементами массива.

Я хочу изменить цвет текста titleLabel.

Это вывод моего словаря при печати. ​​

[17: "17 Kind of long rambling explanation that no one reads in reality", 
    14: "14 Kind of long rambling explanation that no one reads in reality", 
    20: "20 Kind of long rambling explanation that no one reads in reality"

Я хочу использовать оператор if для цветов. Если значение dict равно 17, цвет текста должен быть красным или что-то в этом роде.

Но когда я повторяю, он заполняется последним цветом значения ключа. Это моя проблема. Я надеюсь, что это ясно.

for (key, _) in self.stepDetails {
        progressView.pastTextColor = getColor(key: key)

    }

    func getColor(key: Int) -> UIColor {
        switch key {
        case 0...key:
            return .red
        case key ... key + 10:
            return .blue
        default:
            return .gray
        }
    }

Это всегда дает последний цвет, потому что это в итерации, так Каков наилучший подход в этом случае?

Спасибо!

...