我们可以使用CALayer在UIButton上放置背景颜色然后文本吗?

时间:2014-08-08 04:37:50

标签: ios uibutton core-animation

我有一个UIButton,我想先放置背景颜色,然后放置文本标签。我尝试使用CALayer,但无法成功。

有没有办法使用CALayer来实现这个目标?

任何帮助都将受到高度赞赏。

这是我的尝试:

//creating sublayer
    CALayer *yellowLayer = [CALayer layer];
    yellowLayer.frame = CGRectMake(rec_Xoffset, 2, width, height-4);
    yellowLayer.backgroundColor = [UIColor redColor].CGColor;

    CATextLayer *label = [[CATextLayer alloc] init];
    [label setFont:@"Helvetica-Bold"];
    [label setFontSize:20];
    [label setFrame:button1.frame];
    [label setString:@"Hello"];
    [label setAlignmentMode:kCAAlignmentCenter];
    [label setForegroundColor:[[UIColor whiteColor] CGColor]];
    [yellowLayer insertSublayer:label above:yellowLayer];

    label.zPosition=10.0;

    [button1.layer addSublayer:yellowLayer];

有没有人能够在这个核心动画层中让我高兴?我想这是很少知识的结果。

提前致谢。

1 个答案:

答案 0 :(得分:0)

也许你可以将条纹背景作为图像并使用此代码来设置按钮的背景图像和标题?

[button1 setBackgroundImage:[UIImage imageNamed:@"stripeImage"]
                             forState:UIControlStateNormal];
[button1 setTitle:@"Hello" forState:UIControlStateNormal];

要更新标签的属性,您可以将其作为按钮访问; s titleLabel

[button1.titleLabel setTextColor:[UIcolor redColor]];