iPhone iOS, как добавить линейный градиент к UIButton под текстом или изображением кнопки?

Я работаю над созданием причудливых кнопок пользовательского интерфейса, добавляя к кнопке линейный градиент. Однако я не уверен, по какому индексу мне нужно добавить градиент. Код, который у меня есть, помещает градиент поверх изображения/текста.

Как я могу вставить подслой в UIButton под подслоем текста/изображения?Мне важно, чтобы текст и изображение кнопки оставались видимыми!

+(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];
    }
}
12
задан Alex Stone 22 May 2012 в 12:46
поделиться