Tengo una UIView y quiero que la parte inferior se desvanezca a 0 opacidad.Máscara de degradado en UIView
¿Se puede hacer esto a un UIView (CALayer) para afectar a toda una UIView y su contenido?
Tengo una UIView y quiero que la parte inferior se desvanezca a 0 opacidad.Máscara de degradado en UIView
¿Se puede hacer esto a un UIView (CALayer) para afectar a toda una UIView y su contenido?
Sí, puede hacerlo mediante el establecimiento de CAGradientLayer
como máscara de capa de la vista:
#import <QuartzCore/QuartzCore.h>
...
CAGradientLayer *maskLayer = [CAGradientLayer layer];
maskLayer.frame = view.bounds;
maskLayer.colors = @[(id)[UIColor whiteColor].CGColor, (id)[UIColor clearColor].CGColor];
maskLayer.startPoint = CGPointMake(0.5, 0);
maskLayer.endPoint = CGPointMake(0.5, 1.0);
view.layer.mask = maskLayer;
P. S. También necesita vincular QuartzCore.framework
a su aplicación para que todo funcione.
Sé que esto es más antiguo, pero ¿cuál es el problema con obtener cgcolor y luego unirlos de nuevo a los punteros? La propiedad 'colors' dice que es una matriz de UIColors. –
abstract from docs - ** colors ** - Una matriz de objetos CGColorRef que definen el color de cada parada de gradiente. Para almacenarlos en NSArray, los convertimos en id. Francamente, pensé que necesitábamos un reparto en puente cuando usamos ARC, pero el código compilado bien ya que ahora es – Vladimir
¡gracias, funcionó! – Deeper
Para otros que luchan con la máscara de degradado, no funcionará si se aplica a un 'UIStackView'. –