Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extension UIControlState : Hashable {
- public var hashValue: Int {
- return Int(self.rawValue)
- }
- }
- class MyButton : UIButton {
- public override var state: UIControlState {
- get {
- let currentState = super.state
- self.backgroundColor = self.backgroundColorsForState[currentState]
- return currentState
- }
- }
- private var backgroundColorsForState : [UIControlState : UIColor] =
- [UIControlState.normal : UIColor.clear,
- UIControlState.highlighted : UIColor.clear,
- UIControlState.disabled : UIColor.clear,
- UIControlState.selected : UIColor.clear,
- UIControlState.focused : UIColor.clear,
- UIControlState.application : UIColor.clear,
- UIControlState.reserved : UIColor.clear]
- public func setBackgroungColor(_ color: UIColor?, for state: UIControlState) {
- if let col = color {
- self.backgroundColorsForState[state] = col
- } else {
- self.backgroundColorsForState[state] = UIColor.clear
- }
- self.state
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement