2010-08-16 13 views
12

Gradiente horizontal funciona bien. ¿Hay alguna manera de obtener un degradado de color vertical del gradiente horizontal? He visto una pregunta relacionada con esto donde lo hicieron girando los marcos.gradiente de color vertical

¿Hay alguna manera más simple de lograr un degradado vertical?

Respuesta

2

¿Qué le parece girarlo 90º?

editar A juzgar por tu comentario, parece que estás haciendo esto a través del CAGradientLayer. CAGradientLayer es una subclase de CALayer, que tiene una propiedad transform. Esta propiedad transform toma CATransform3D, que es una estructura que representa algún tipo de transformación lineal para aplicar a la capa (como escalado, traducción o rotación).

Así que realmente solo necesita make a rotational CATransform3D y configúrelo como la propiedad CAGradientLayer de CAGradientLayer.

Probablemente también podría hacer que esto funcione al jugar con el startPoint y endPoint (que en realidad sería más simple).

+0

Utilicé gradient.startpoint y gradient.endpoint para rotar ... ¿está bien ...? Necesito una rotación de 180 grados .. debo usar la misma lógica que la anterior. – darshan

+0

@darshan edited answer –

76

El valor predeterminado startPoint y punto final tendría el gradiente de mostrar los colores de arriba a abajo (que en mi mente es un gradiente vertical de ). Si desea que el degradado para acceder de izquierda a derecha (de nuevo en mi cuenta que es un gradiente horizontal ), utilizar este código en su CAGradientLayer: transformar

[gradientLayer setStartPoint:CGPointMake(0.0, 0.5)]; 
    [gradientLayer setEndPoint:CGPointMake(1.0, 0.5)]; 

Un 3D es innecesaria.

+0

good one dude +1 – Warewolf

Cuestiones relacionadas