In my iPhone app, I have a UIButton which I have created in Interface Builder. I can successfully enable and disable it like this in my code ...
sendButton.e
Create an extension in Swift > 3.0 rather than each button by itself
extension UIButton { override open var isEnabled : Bool { willSet{ if newValue == false { self.setTitleColor(UIColor.gray, for: UIControlState.disabled) } } } }