ボタンに線形グラデーションを追加して、見栄えの良い UIbuttons の作成に取り組んでいます。ただし、グラデーションを追加する必要があるインデックスがわかりません。私が現在持っているコードは、画像/テキストにグラデーションを配置します。
テキスト/画像サブレイヤーの下の 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];
}
}