Ios UIButton.setTitle未将UIButton.titleLabel.text设置为空字符串

Ios UIButton.setTitle未将UIButton.titleLabel.text设置为空字符串,ios,swift,uibutton,Ios,Swift,Uibutton,这不是问题,但我发现UIButton.setTitle没有将UIButton.titleLabel.text设置为”。因此,如果要将UIButton.titleLabel.text设置为”,则应在UIButton.setTitleLabel.text=”“之后使用UIButton.setTitle(“,用于:.normal) 在操场上,它看起来像: import UIKit let button = UIButton() button.setTitle("1", for: .normal) p

这不是问题,但我发现
UIButton.setTitle
没有将
UIButton.titleLabel.text
设置为
。因此,如果要将
UIButton.titleLabel.text
设置为
,则应在
UIButton.setTitleLabel.text=”“
之后使用
UIButton.setTitle(“,用于:.normal)

在操场上,它看起来像:

import UIKit

let button = UIButton()
button.setTitle("1", for: .normal)
print(button.titleLabel?.text ?? "no value")
//print 1
button.setTitle("2", for: .normal)
print(button.titleLabel?.text ?? "no value")
//print 2
button.setTitle("3", for: .normal)
print(button.titleLabel?.text ?? "no value")
//print 3
button.setTitle("", for: .normal)
print(button.titleLabel?.text ?? "no value")
//print 3 not ""
button.titleLabel?.text = ""
print(button.titleLabel?.text ?? "no value")
//print ""
当然,
button.titleLabel?.text=”“
只在
button.setTitle(“,for:.normal”)之后起作用。


我不明白为什么会这样。也许有人可以解释一下原因?

您可以看到以下苹果关于按钮标题集的描述。请参见红色标记的矩形

发送方是UIButton的实例

根据苹果公司文件:

要设置标签的实际文本,请使用setTitle(quo:for:)

button.titleLabel.text不允许您设置文本


我希望这将对您有所帮助。

您可以看到以下关于按钮标题集的苹果说明。请参见红色标记的矩形

发送方是UIButton的实例

根据苹果公司文件:

要设置标签的实际文本,请使用setTitle(quo:for:)

button.titleLabel.text不允许您设置文本


我希望这将对您有所帮助。

是的,但这不适用于空字符串。是的,但这不适用于空字符串。
button.setTitle("3", for: .normal)
button.titleLabel?.text = ""
print(button.titleLabel?.text ?? "no value")
//print 3