color ios core-graphics cagradientlayer

ios - color - Fade out desplazando UITextView over image?



ios swift gradient (2)

Oh hombre, uso mucho esto. Tenerlo guardado como un fragmento de código:

CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = self.textView.superview.bounds; gradient.colors = @[(id)[UIColor clearColor].CGColor, (id)[UIColor blackColor].CGColor, (id)[UIColor blackColor].CGColor, (id)[UIColor clearColor].CGColor]; gradient.locations = @[@0.0, @0.03, @0.97, @1.0]; self.textView.superview.layer.mask = gradient;

Esta solución requiere que su vista de texto se incruste en una vista propia. Esto aplica un 3% de desvanecimiento en la parte superior e inferior de la vista de texto. Modifique gradient.locations a sus necesidades.

Estoy tratando de desvanecer un UITextView desplazable sobre una imagen de fondo, algo similar al gradiente en la parte superior de este pequeño ejemplo.

Estoy tratando de averiguar cómo puedo lograr esto usando CAGradientLayer y máscaras. A medida que el texto en la vista se desplaza (verticalmente), necesito que el texto se vuelva transparente antes de que toque el marco de la vista, para dar la ilusión de que se está desvaneciendo hacia arriba y hacia abajo.

¿Algún consejo sobre cómo podría lograr esto?


Otros me he inspirado en este hilo, pero he convertido el código en Swift y, en su lugar, utilicé los puntos de inicio y fin para hacer un degradado en la parte inferior.

if let containerView = textView.superview { let gradient = CAGradientLayer(layer: containerView.layer) gradient.frame = containerView.bounds gradient.colors = [UIColor.clearColor().CGColor, UIColor.blueColor().CGColor] gradient.startPoint = CGPoint(x: 0.0, y: 1.0) gradient.endPoint = CGPoint(x: 0.0, y: 0.85) containerView.layer.mask = gradient }

Ver: imagen de texto. Parte inferior con degradado.