当前位置: 首页 > 知识库问答 >
问题:

以编程方式更改UIButton的文本

施俊明
2023-03-14

这里有个简单的问题。我有一个UIButton,currencySelector,我想通过编程更改文本。以下是我所拥有的:

currencySelector.text = "foobar"

Xcode给了我一个错误“预期声明”。我做错了什么?我该如何更改按钮的文本?

共有3个答案

东方明亮
2023-03-14

斯威夫特5.0

// Standard State
myButton.setTitle("Title", for: .normal)
荆梓
2023-03-14

只是对那些刚接触Swift和iOS编程的人的澄清。代码行下方:

button.setTitle("myTitle", forState: UIControlState.Normal)

仅适用于IBOutlet,不适用于IBActions

因此,如果你的应用程序使用一个按钮作为执行一些代码的功能,比如播放音乐,并且你想根据切换变量将标题从Play更改为Pause,你还需要为该按钮创建一个IBOutlet

如果您尝试使用按钮。setTitleiAction相比,您将得到一个错误。一旦你知道了这一点,这是显而易见的,但对于noobs(我们都是)来说,这是一个有用的提示。

微生令
2023-03-14

在Swift 3、4、5中:

button.setTitle("Button Title", for: .normal)

否则:

button.setTitle("Button Title", forState: UIControlState.Normal)

还必须为按钮声明@IBOutlet

 类似资料:
  • 问题内容: 这里的简单问题。我有一个UIButton,currencySelector,并且我想以编程方式更改文本。这是我所拥有的: Xcode给我错误“期望的声明”。我在做什么错,如何更改按钮的文本? 问题答案: 在Swift 3、4、5中: 除此以外: 还必须为声明。

  • 问题内容: 我正在尝试以编程方式构建UI。如何使该动作起作用?我正在用Swift开发。 viewDidLoad中的代码: 问题答案: 您只是在选择器名称的末尾缺少冒号。因为按下需要一个参数,所以冒号必须在该位置。而且,您按下的函数不应嵌套在viewDidLoad中。 编辑:更新以反映Swift 2.2中的最佳实践。应该使用#selector()而不是不推荐使用的文字字符串。

  • 我使用下面的hack以编程方式更改homeAsupIndicator。 但这在大多数新手机(HTC One、Galaxy S3等)上都不起作用。是否有一种方法可以跨设备统一更改。我只需要在主屏幕上更改它。其他屏幕将具有默认屏幕。因此无法使用样式。xml

  • 我已经读过一些关于颜色的线程,但所有这些线程都必须通过style.xml进行设置。 现在我用这个来确定颜色。 是否可以不使用XML,例如使用代码来更改SwitchCompat/Checkbox的颜色?

  • 在Java中,我动态地创建一组文件,我希望在Linux/UNIX文件系统中更改这些文件的文件权限。我希望能够执行的Java等价物。这可能是Java5吗?如果是,怎么做? 我知道在Java6中,对象有/方法。我也知道我可以通过一个系统调用来实现这一点,但如果可能的话,我希望避免这样做。

  • 问题内容: 如何使用javascript 更改标签的属性? 起初,我有一个默认的src,它是“ ../template/edit.png”,我想用onclick来更改“ ../template/save.png”。 更新:这是我的HTML onclick: 和我的JS 我尝试将其插入edit()内,它可以工作,但需要单击两次图像 问题答案: 现在还可以