Я пытаюсь сделать так, чтобы пользователи показывали свои действия на временной шкале.
Моя библиотека временной шкалы с именем 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
}
}
Это всегда дает последний цвет, потому что это в итерации, так
Каков наилучший подход в этом случае?
Спасибо!