之前我创建了一个项目,我将UIButton设置为同时包含文本和图像(在界面构建器中)。
我创建了另一个项目,我希望实现同样的目标,但是当我设置按钮以获得图像时,标题会消失(它不会隐藏在图像后面)。
我似乎无法弄清楚为什么会这样,如果有人能对这个问题有所了解我会很感激!
感谢。
答案 0 :(得分:22)
将按钮更改为自定义类型。将图像打开,然后将文本放入。
您需要在其上放置自己的背景,但此时您将能够使用边缘设置来定位文本和图像。
我对图片和文字的每个按钮都设置为自定义,并且最终也有自己的bg图像。
哦,我用的另一件事。是cornerRadius。为视图提供默认情况下按钮的圆角效果。
saveButton.layer.cornerRadius = roundingNumber.floatValue;
此外,您应该能够将borderWidth和borderColor与cornerRadius结合使用,以获得与原始按钮非常相似的按钮
saveButton.layer.borderRadius = 1.0f;
saveButton.layer.borderColor = [[UIColor blueColor] CGColor];
// These are not the exact values (or maybe they are) but you get the idea.
希望有所帮助。
更正
花一点时间调查之后,看起来当你把图像放在按钮上时。文字被推到了右边。
使用边缘设置将其重新带回图像。
选择按钮后,查看“属性检查器”>按钮>边缘> (下拉“标题”)
我提出的方案是
[Edge inset for Title] Left = -(imageWidth * 2)
这应该左对齐你的标题与你放入的图像。
需要进行自定义定位才能使其看起来正确。
这可以完全在Interface Builder中完成,您可以使用RoundedRect按钮样式
以下是一些展示变化的图片。
这里我将Button类型设置为“Custom”以删除边框和背景。
这里我在边缘设置为“标题”设置了顶部和左边(标题是下拉列表中的一个选项)
修改的
最新Xcode已将尺寸设置移至新位置
答案 1 :(得分:1)
只需将图像放在背景字段中即可。这样文本就会出现在图像的前面。
答案 2 :(得分:0)
听起来你正在设置按钮的图像而不是背景图像,所以反过来。
答案 3 :(得分:0)
我注意到,如果将UIButton颜色设置为默认颜色,则添加图像会使它变成白色,因此不可见。手动更改颜色使其再次可见。