首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIEdgeInset问题定位文本/图像

UIEdgeInset问题定位文本/图像
EN

Stack Overflow用户
提问于 2012-12-17 22:20:55
回答 2查看 3.1K关注 0票数 2

我尝试在文本上方创建一个带有图像的UIButton,所以我使用以下代码:

代码语言:javascript
复制
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(x, y, 140, 140);
[btn setTitle:self.objMateria.titoloMateria forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor clearColor]];
[btn setImage:[UIImage imageNamed:@"pala.png"] forState:UIControlStateNormal];
btn.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 20, 0);
btn.titleEdgeInsets = UIEdgeInsetsMake(120, 0, 0, 0);

问题是,在这段代码中,我看不到文本,它似乎被图像所覆盖,错误在哪里?

下面是图片:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-17 22:50:57

尝尝这个

代码语言:javascript
复制
btn.imageEdgeInsets = UIEdgeInsetsMake(-20, 0, 0, 0);
btn.titleEdgeInsets = UIEdgeInsetsMake(120, -120, 0, 0);

调整-120的值,即left以水平适合您的标题

票数 3
EN

Stack Overflow用户

发布于 2012-12-17 22:51:57

你能按如下方式修改你的代码吗?

代码语言:javascript
复制
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(20, 20, 140, 140);
[btn setTitle:@"pala" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor clearColor]];
[btn setImage:[UIImage imageNamed:@"pala.png"] forState:UIControlStateNormal];
btn.imageEdgeInsets = UIEdgeInsetsMake(-20, 0, 0, 0);
UIImage *imageTemp = [UIImage imageNamed:@"pala.png"];
btn.titleEdgeInsets = UIEdgeInsetsMake(imageTemp.size.height, -imageTemp.size.width, 0, 0);
[self.view addSubview:btn];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13915898

复制
相关文章

相似问题

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