Горизонтальный градиент работает нормально. Есть ли способ получить вертикальный градиент цвета из горизонтального градиента? Я видел связанный вопрос относительно этого, где они сделали это, вращая кадры.
Есть ли более простой способ достижения вертикального градиента?
По умолчанию startPoint и endPoint будет иметь градиент, отображающий ваши цвета сверху вниз (что, на мой взгляд, является вертикальным градиент). Если вы хотите, чтобы градиент отображался слева направо (опять же, на мой взгляд, это горизонтальный градиент), используйте этот код в своем CAGradientLayer :
[gradientLayer setStartPoint:CGPointMake(0.0, 0.5)];
[gradientLayer setEndPoint:CGPointMake(1.0, 0.5)];
3D-преобразование не требуется .
Как насчет поворота на 90º?
edit Судя по вашему комментарию, похоже, что вы делаете это через CAGradientLayer
. CAGradientLayer
является подклассом CALayer
, который имеет свойство преобразование
. Это свойство преобразования
принимает CATransform3D
, которая представляет собой структуру, представляющую своего рода линейное преобразование, применяемое к слою (например, масштабирование, перемещение или поворот).
На самом деле вам просто нужно создать вращающийся CATransform3D
и установить его как свойство transform
вашего CAGradientLayer
.
Вы, вероятно, также могли бы сделать эту работу, поигравшись с startPoint
и endPoint
(что, вероятно, было бы проще).