首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们可以用CALayer在UIButton上先放上背景色,再放上文字吗?

我们可以用CALayer在UIButton上先放上背景色,再放上文字吗?
EN

Stack Overflow用户
提问于 2014-08-08 12:37:50
回答 1查看 106关注 0票数 0

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

有没有办法使用CALayer来实现这一点呢?

任何帮助都将不胜感激。

这是我的尝试:

代码语言:javascript
复制
//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];

有人能给我介绍一下这个核心动画层吗?我猜这是由于知识不足造成的。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-08-08 13:05:16

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

代码语言:javascript
复制
[button1 setBackgroundImage:[UIImage imageNamed:@"stripeImage"]
                             forState:UIControlStateNormal];
[button1 setTitle:@"Hello" forState:UIControlStateNormal];

要更新标注的属性,可通过按钮的titleLabel进行访问

代码语言:javascript
复制
[button1.titleLabel setTextColor:[UIcolor redColor]];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25196133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档