【问题标题】:UIButton with custom image still shows titleLabel even though I set it to blank - Swift iOS即使我将其设置为空白,带有自定义图像的 UIButton 仍显示 titleLabel - Swift iOS
【发布时间】:2021-12-27 00:46:08
【问题描述】:

我对 Swift 很陌生,目前正在编写一款 AR 游戏。 看来我的问题很基本,但我想不通。

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

但是当我运行应用程序时,按钮图像显示带有一个默认标签(说“按钮”),如下图所示: button in iPhone screenshot WITH label next to the button image

我不知道为什么会有这个标签以及如何删除它。 我应该以编程方式添加按钮而不是通过情节提要添加它吗? 按钮是否应该因为它是 AR 应用而被区别对待?

我能够通过添加与 IBOutlet 相同的 UIButton 并在 viewWillAppear 中添加以下行来删除标签:

restartButton.titleLabel?.text = ""

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

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

谢谢!

【问题讨论】:

  • 首先,好问题。我个人不喜欢使用 IB 或 Storyboard,但基本上 UIButton 是同一类 - 无论是在代码中还是在 IB 中。因此,要回答您的部分问题,它是否是 AR 应用程序并不重要。 没有什么您可以在 IB 中做无法通过代码完成的事情,正如您已经说过的,这可能是一种解决方法。一个想法...尝试在 IB 的 title 属性中放置一个空格。 (甚至可能在那之后删除它。)
  • 自从我使用 IB 以来已经有一分钟了,但我会尝试从下拉菜单中将按钮类型更改为“自定义”。
  • restartButton.setTitle(""., for: .normal) 尝试在viewDidLoad 中设置您的标题,这应该可以在您每次按下按钮时重置标题。关于情节提要,我用的不多,所以不确定问题所在,我会做一个测试项目,稍后会告诉你:]
  • 更新:我刚刚创建了一个测试项目,只需清空按钮的标题部分即可从情节提要中删除按钮标题。真的不知道你为什么会遇到问题。如果您可以共享当前项目或制作测试项目并复制问题,我会调查您的项目:]
  • 谢谢大家的回复!它现在工作正常,见下文... Eric 谢谢,我实际上已经尝试将其更改为自定义,但这并没有改变任何东西。 @Jokecoder,谢谢,我还创建了一个空白的新项目,确实它运行良好。我之前已经删除了按钮并将其放回原处,但这次我还确保删除了连接检查器中的链接,这些链接我之前可能已经跳过了。这样做之后,我重新添加了按钮,现在它可以正常工作了。所以肯定有一些小故障需要清除。

标签: ios swift uibutton arkit


【解决方案1】:

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

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

<state key="normal" title="Button"/>

之后,它就正常工作了。

【讨论】:

  • 谢谢!很棒的提示!
猜你喜欢
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 2020-05-21
  • 2023-04-02
  • 2012-07-08
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
相关资源
最近更新 更多