iphone - iOS - 界面生成器 : UIButton title disappears when setting image

标签 iphone ios uibutton

我之前制作了一个项目,我将 UIButton 设置为同时具有文本和图像(在界面构建器中)。

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

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

谢谢。

最佳答案

将您的按钮更改为自定义类型。放上图片,再放上文字。

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

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

哦,我用的另一件事。是cornerRadius。为 View 提供类似于按钮默认情况下的圆形效果。

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 按钮样式

这里有一些图片展示了变化。

这里我将按钮类型设置为“自定义”以去除边框和背景。

Custom was set

这里我设置了Top和Left in the Edge set for "Title"(标题是下拉的一个选项)

Left and Top was set

编辑

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

enter image description here

关于iphone - iOS - 界面生成器 : UIButton title disappears when setting image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918196/

相关文章:

ios - 根据标题文本内容自动调整按钮大小

objective-c - 如何在 Objective-C 中进行矩阵和向量数学运算?

objective-c - 如何判断这个内存泄漏是从哪里来的呢?

iphone - Apple 推送通知服务 - 发送许多通知

ios - 具有流布局的水平滚动方向模式下的 UICollectionView 标题位置

ios - Metal 质感 - 绘制和删除

ios - 具有最小高度要求的Autolayout UIView比例高度

c# - iOS 模拟器以空蓝屏启动

ios - UIButton 在点击时更改背景(以编程方式)

ios - setTitle 和 setBackgroundImage 不适用于嵌套在 UIView 中的 UIButton