我之前做过一个项目,我将 UIButton 设置为既有文本又有图像(在界面生成器中)。
我创建了另一个项目,我想实现同样的目标,但是当我将按钮设置为有图像时,标题消失了(它没有隐藏在图像后面)。
我似乎无法弄清楚为什么会这样,如果有人能对这个主题有所了解,我将不胜感激!
谢谢。
将您的按钮更改为自定义类型。把图片放上去,然后把文字放进去。
您需要在其上放置自己的背景,但此时您将能够使用边缘设置来定位文本和图像。
我拥有的每个带有图像和文本的按钮都设置为自定义,最终也有自己的背景图像。
哦,我用的另一个东西。是角半径。默认情况下,为视图提供像按钮一样的圆角效果。
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 类型设置为“自定义”以删除边框和背景。
在这里,我为“标题”设置了边缘集的顶部和左侧(标题是下拉菜单中的一个选项)
编辑
最新的 Xcode 已将大小设置移动到新位置
只需将图像放在背景字段中即可。这样文本将出现在图像的前面。
听起来您正在设置按钮的图像,而不是背景图像,所以将其反转。
我注意到如果 UIButton 颜色设置为默认值,添加图像会使其变为白色,因此不可见。手动更改颜色使其再次可见。