8

我之前做过一个项目,我将 UIButton 设置为既有文本又有图像(在界面生成器中)。

我创建了另一个项目,我想实现同样的目标,但是当我将按钮设置为有图像时,标题消失了(它没有隐藏在图像后面)。

我似乎无法弄清楚为什么会这样,如果有人能对这个主题有所了解,我将不胜感激!

谢谢。

4

4 回答 4

23

将您的按钮更改为自定义类型。把图片放上去,然后把文字放进去。

您需要在其上放置自己的背景,但此时您将能够使用边缘设置来定位文本和图像。

我拥有的每个带有图像和文本的按钮都设置为自定义,最终也有自己的背景图像。

哦,我用的另一个东西。是角半径。默认情况下,为视图提供像按钮一样的圆角效果。

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 类型设置为“自定义”以删除边框和背景。

自定义已设置

在这里,我为“标题”设置了边缘集的顶部和左侧(标题是下拉菜单中的一个选项)

Left 和 Top 已设置

编辑

最新的 Xcode 已将大小设置移动到新位置

在此处输入图像描述

于 2012-12-17T17:48:53.787 回答
3

只需将图像放在背景字段中即可。这样文本将出现在图像的前面。

于 2013-04-27T10:19:52.893 回答
0

听起来您正在设置按钮的图像,而不是背景图像,所以将其反转。

于 2012-12-17T16:53:42.113 回答
0

我注意到如果 UIButton 颜色设置为默认值,添加图像会使其变为白色,因此不可见。手动更改颜色使其再次可见。

于 2019-10-31T21:59:32.727 回答