【问题标题】:UIButton setTitleColor is not working when i set the button state to disable当我将按钮状态设置为禁用时,UIButton setTitleColor 不起作用
【发布时间】:2020-08-17 21:21:04
【问题描述】:
在我的应用程序中,我想禁用一个按钮,所以我编写了这样的代码
plusBtn.setTitleColor(.gray, for: .disabled)
我在viewDidLoad() 方法中编写了这段代码。在情节提要中,默认按钮颜色为绿色,但第一次在视图加载时它将以灰色禁用模式(我知道isEnabled 属性可以处理此问题,但我想这样做)还有一个更重要的事情当我将按钮状态更改为 .normal 时,它工作正常,但对于 .disable 它不起作用,为什么?
【问题讨论】:
标签:
ios
swift
xcode
uibutton
swift4
【解决方案1】:
使用此代码,您不会禁用该按钮。您只需设置禁用按钮的颜色即可。
但是,如果您确实在情节提要中将属性 enabled 设置为 false 并且确实将您的按钮正确连接到您的代码,它就可以工作。我刚刚测试了它。见图片:
【解决方案2】:
写在viewWillAppear而不是viewDidLoad()
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
plusBtn.setTitleColor(.gray, for: .disabled)
}
【解决方案3】:
我无法完全理解您在哪里将按钮状态设置为禁用,但请确保在将禁用状态的标题颜色设置为灰色后执行此操作。
您可以尝试在两行都添加断点,看看哪个先执行。