即使我将其设置为空白,具有自定义图像的 UIButton 仍然显示 titleLabel - Swift iOS

raf*_*afi 25 uibutton ios swift arkit

我对 Swift 还很陌生,目前正在编写 AR 游戏。看来我的问题很基本,但我无法弄清楚。

我通过情节提要向 AR 场景添加了一个按钮,并将其链接到 IBAction 函数(单击按钮时该函数可以正常工作)。我给了按钮一个图像并删除了标题。查看按钮在故事板中的显示方式: Xcode 故事板中没有标题的按钮

但是当我运行该应用程序时,按钮图像会显示一个默认标签(显示“按钮”),如下图所示: iPhone 屏幕截图中的按钮 按钮图像旁边有标签

我不明白为什么会有这个标签以及如何将其删除。我应该以编程方式添加按钮,而不是通过故事板添加它吗?因为它是 AR 应用程序,所以该按钮应该被区别对待吗?

我可以通过添加相同的 UIButton 作为 IBOutlet 并在 viewWillAppear 中添加以下行来删除标签:

restartButton.titleLabel?.text = ""
Run Code Online (Sandbox Code Playgroud)

但在我看来,这只是一种解决方法,而不是真正的解决方案。另外,一旦我单击按钮,标签就会再次出现。我尝试在单击按钮时向函数添加相同的解决方法行,但这没有帮助。

我确信我错过了一些非常简单的东西。我们将不胜感激您的帮助。

谢谢!

Ash*_*hra 71

在 iOS-15、Xcode-13.1 中,我们面临同样的问题,您可以通过将“样式”状态从“平面”更改为“默认”,然后删除该按钮的标题,使用 Interface Builder 进行相同的更改,它将起作用完全没问题,如下所示:-

按钮的初始状态被指定为平面,如下所示:-

在此输入图像描述

然后将按钮样式属性更改为默认并删除标题文本,如下所示:-

在此输入图像描述

  • 这对我有用,谢谢!另外,您可以同时突出显示多个按钮,然后将它们全部从“普通”切换为“默认”,然后擦除所有按钮的标题文本。然后,您可以同时将它们全部交换回普通模式,以同时修复多个按钮。 (3认同)

wil*_*t12 16

当 Interface Builder 运行不佳时,我经常在文本编辑器(我使用 Sublime Text)中打开 Storyboard 文件并手动编辑它。

我有一个类似的问题 - 我有一个带有图像的按钮,我删除了 IB 中默认的“按钮”标题文本,在 Xcode 中看起来很好,但当我运行它时,“按钮”一词仍然存在。所以我使用 Sublime Text 找到了这一行并将其删除:

<state key="normal" title="Button"/>
Run Code Online (Sandbox Code Playgroud)

之后,它就正常工作了。


Abd*_*han 5

将 UIButton 样式更改为“默认”并清除其标题。