当我将按钮状态设置为禁用时,UIButton setTitleColor不起作用

时间:2020-05-03 13:44:44

标签: ios swift xcode uibutton swift4

在我的应用中,我想禁用一个按钮,所以我写了这样的代码

plusBtn.setTitleColor(.gray, for: .disabled)

我在viewDidLoad()方法中编写了此代码。在情节提要中,默认按钮颜色为绿色,但在第一次视图加载时,它将以禁用模式显示为灰色(我知道isEnabled属性可以处理此问题,但我想这样做),还有其他重要的事情是,我将按钮状态更改为.normal可以正常工作,但是对于.disable却不能正常工作,为什么?

3 个答案:

答案 0 :(得分:0)

使用此代码,您不会禁用该按钮。您只需设置禁用按钮的颜色即可。

,但是如果您确实在情节提要中将属性设置为false,并且确实将按钮连接到了代码,则它可以工作。我刚刚测试过。查看图片:

enter image description here

答案 1 :(得分:0)

viewWillAppear而不是viewDidLoad()

 override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        plusBtn.setTitleColor(.gray, for: .disabled)
    }

答案 2 :(得分:0)

我无法完全理解将按钮状态设置为“禁用”的位置,但是请确保在将“禁用状态”的标题颜色设置为灰色之后再进行操作。

您可以尝试在两行中添加断点,然后看看哪个先执行。