 }
 
 
+
 @IBDesignable
 open class RoundImageView: UIImageView, BorderDrawable {
-	@IBInspectable public var borderWidth: CGFloat? { didSet { self.setNeedsLayout() } }
-	@IBInspectable public var borderColor: UIColor? { didSet { self.setNeedsLayout() } }
+	
 	open override func layoutSubviews() {
 		super.layoutSubviews()
 		
 		self.roundCorners()
-		self.updateBorder(of: self)
+		self.updateBorder()
 	}
 }
 
 
+
 @IBDesignable
 open class RoundTintImageView: RoundImageView {
+	
 	open override var image: UIImage? {
 		get { return super.image }
 		set { super.image = newValue?.withRenderingMode(.alwaysTemplate) }


@IBDesignable
open class RoundView: UIView, BorderDrawable {
	@IBInspectable public var borderWidth: CGFloat? { didSet { self.setNeedsLayout() } }
	@IBInspectable public var borderColor: UIColor? { didSet { self.setNeedsLayout() } }
	open override func layoutSubviews() {
		super.layoutSubviews()
		
		self.roundCorners()
		self.updateBorder(of: self)
	}
}


@IBDesignable
open class RoundLabel: UILabel, BorderDrawable {
	@IBInspectable public var borderWidth: CGFloat? { didSet { self.setNeedsLayout() } }
	@IBInspectable public var borderColor: UIColor? { didSet { self.setNeedsLayout() } }
	open override func layoutSubviews() {
		super.layoutSubviews()
		
		self.roundCorners()
		self.updateBorder(of: self)
	}
}


@IBDesignable
open class RoundButton: UIButton, BorderDrawable {
	@IBInspectable public var borderWidth: CGFloat? { didSet { self.setNeedsLayout() } }
	@IBInspectable public var borderColor: UIColor? { didSet { self.setNeedsLayout() } }
	open override func layoutSubviews() {
		super.layoutSubviews()
		
		self.roundCorners()
		self.updateBorder(of: self)
	}
}


@IBDesignable
open class TintImageView: UIImageView {
	open override var image: UIImage? {
		get { return super.image }
		set { super.image = newValue?.withRenderingMode(.alwaysTemplate) }

		super.layoutSubviews()
		
		self.roundCorners()
		self.updateBorder()
	}
}

