Last active
February 22, 2016 00:42
-
-
Save brianmpalma/7184cfe9db334c39ae93 to your computer and use it in GitHub Desktop.
Protocol + extension for UIView and friends that adds bordering capabilities in IB using IBDesignable and IBInspectable
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
protocol Borderable { | |
var cornerRadius: CGFloat { get set } | |
var borderWidth: CGFloat { get set } | |
var borderColor: UIColor? { get set } | |
} | |
@IBDesignable | |
extension UIView: Borderable { | |
@IBInspectable | |
var cornerRadius: CGFloat { | |
get { | |
return layer.cornerRadius | |
} | |
set { | |
layer.cornerRadius = newValue | |
} | |
} | |
@IBInspectable | |
var borderWidth: CGFloat { | |
get { | |
return layer.borderWidth | |
} | |
set { | |
layer.borderWidth = newValue | |
} | |
} | |
@IBInspectable | |
var borderColor: UIColor? { | |
get { | |
guard let borderColor = layer.borderColor else { return nil } | |
return UIColor(CGColor: borderColor) | |
} | |
set { | |
layer.borderColor = borderColor?.CGColor | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment