为什么当 TextView 有内容时 Button 启用不起作用?

Why is the Button enable not working when TextView has contents?

这可能是一个非常简单的菜鸟错误,但我试图确保在 TextView 中包含文本之前禁用按钮。

我设置

Button.isEnabled = false

然后添加了这段代码。我已经以各种方式尝试了这段代码的变体,我似乎无法将它附加到 textView 本身,我无法想象为什么这不起作用。

@IBAction func valueChanged(_ sender: AnyObject)
{
    if(title.text != "")
    {
        Button.isEnabled = true
    }
    else
    {
        Button.isEnabled = false
    }
}

感谢 StackedOverflow 社区...

设置按钮启用 alpha 使外观更好,然后设置 enabled/disabled 到 valueChanged

@IBOulet private weak var myButton: UIButton! {
    didSet {
        set(myButton, enabled: false)
    }
}

@IBAction private func valueChanged(_ sender: UITextView) {
  set(myButton, enabled: !sender.text.isEmpty)
}

private func set(_ button: UIButton, enabled: Bool) {
  button.isEnabled = enabled
  button.alpha = enabled ? 1 : 0.5
}