无法更改按钮 iOS 的标题

Posted

技术标签:

【中文标题】无法更改按钮 iOS 的标题【英文标题】:Unable to change title of button iOS 【发布时间】:2017-07-22 21:27:22 【问题描述】:

这是我在这里的第一个问题。所以,对我宽容一点。实际上我正在尝试更改按钮的文本。我所说的文字,是指按钮上显示的内容。我正在使用setTitle("title", for: .normal)。但这似乎不起作用。实际上,我正在使用回调将值发送回场景。我成功地取回了值(通过调试检查),但我无法将值设置为按钮的标题。如果我需要为要回答的问题提供额外的内容,请告诉我。这是我正在使用的代码

temp.callback = 
            message in
            var msg = (sender as! UIButton).titleLabel?.text
            msg?.append("=")
            msg?.append(message)
            self.btnManya.setTitle(msg, for: .normal)
        
@IBAction func btnEnterClicked(_ sender: Any) 
    let value = Int(tfEdit.text!)
    if(value! >= from && value! <= to)
    
        callback?(tfEdit.text!)
        self.dismiss(animated:  true, completion: nil)
        self.navigationController?.popViewController(animated: true)
    
    else
    
        tfEdit.text = ""
    

问题是,我不能只更改按钮的文本。其他功能,如隐藏按钮和禁用它工作正常。我也尝试过更改 viewWillAppear 中按钮的文本。也尝试在其他按钮的操作上更改按钮的文本。任何人都可以确认我应该使用 setTitle 来更改文本吗?更改按钮文本的示例程序会很有帮助。

谢谢

【问题讨论】:

您需要发布一些代码,以便人们可以帮助您。 我已经添加了代码。我不确定需要多少代码才能理解问题所在。 你在哪里执行 temp.callback()??? 您可能应该在主线程上执行 setTitle 行。 您的代码只修改了状态正常的标题。如果您为其他州设置了标题,您也必须设置这些标题。在回调的最后一行添加带有新标题的NSLog 【参考方案1】:

感谢大家的帮助。看来问题是由于我的经验不足引起的。我试图用一个简单的字符串更改按钮的属性标题。猜猜我需要一个属性字符串作为属性标题。现在问题已经解决了。再次感谢。

【讨论】:

以上是关于无法更改按钮 iOS 的标题的主要内容,如果未能解决你的问题,请参考以下文章

一旦在情节提要中设置了 UIButton,iOS 9.2 就无法以编程方式更改它的标题

无法更改 FBSDKLoginKit 中登录按钮的高度?

iOS 更改应用程序语言目标 c 无法正常工作

iOS---导致无法识别的选择器发送到实例 0x7f803a59cc50 的按钮

如何更改按钮悬停属性中的文本颜色

iOS 7导航栏后退按钮标题在语言更改时更改