Estoy trabajando en la creación de botones UI de aspecto elegante añadiendo gradiente lineal al botón. Sin embargo, no estoy seguro de qué índice necesito para agregar el degradado. El código que tengo actualmente coloca el degradado sobre la imagen/texto.iPhone iOS cómo agregar gradiente lineal a un UIButton debajo del texto o la imagen del botón?
¿Cómo puedo insertar una subcapa en un UIButton debajo de la subcapa de texto/imagen? ¡Es importante para mí mantener el texto y la imagen de un botón visible!
+(void)addLinearGradientToView:(UIView*)view TopColor:(UIColor*)topColor BottomColor:(UIColor*)bottomColor
{
for(CALayer* layer in view.layer.sublayers)
{
if ([layer isKindOfClass:[CAGradientLayer class]])
{
[layer removeFromSuperlayer];
}
}
CAGradientLayer* gradientLayer = [CAGradientLayer layer];
gradientLayer.startPoint = CGPointMake(0.5, 0);
gradientLayer.endPoint = CGPointMake(0.5,1);
gradientLayer.frame = view.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[topColor CGColor], (id)[bottomColor CGColor], nil];
// [view.layer addSublayer:gradientLayer];
if(view.layer.sublayers.count>0)
{
[view.layer insertSublayer:gradientLayer atIndex:view.layer.sublayers.count-2];
}else {
[view.layer addSublayer:gradientLayer];
}
}
He escrito algunos ejemplos de código para hacer este tipo de cosas: https://github.com/kristopherjohnson/gradientbuttons –