Я не могу предположить, почему ваш код работал раньше, но я вижу, что у вас есть несколько проблем с вашей CAGradientLayer
настройкой.
Сначала массив locations
.Согласно Документация Apple это значение " определяет местоположение каждой градиентной остановки ".Поэтому, если вы хотите, чтобы ваш градиент начинался с одного цвета и заканчивался другим, вам нужно установить locations
вот так
gradientLayer.locations = [0.0, 1.0]
Еще одна проблема - startPoint
и endPoint
.Опять же, из документации :
Точка определяется в единичном координатном пространстве и затем отображается при рисовании в прямоугольнике границ слоя.
Таким образом, ваши значения очков должны быть между 0.0
и 1.0
.В единичном координатном пространстве (0.0, 0.0)
- верхний левый угол вашего обзора, а (1.0, 1.0)
- нижний правый.Если вы хотите получить горизонтальный градиент, вам нужно установить такие точки
gradientLayer.startPoint = CGPoint(x: 0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 1, y: 0.5)
Надеюсь, это вам поможет.