diff --git a/VDS/BaseClasses/Control.swift b/VDS/BaseClasses/Control.swift index ce90d271..e4ba8cde 100644 --- a/VDS/BaseClasses/Control.swift +++ b/VDS/BaseClasses/Control.swift @@ -78,12 +78,7 @@ open class Control: UIControl, ViewProtocol, UserInfoable, Clickable { } /// Whether the Control is enabled or not. - open override var isEnabled: Bool { - didSet { - setNeedsUpdate() - //isUserInteractionEnabled = isEnabled - } - } + open override var isEnabled: Bool { didSet { setNeedsUpdate() } } //-------------------------------------------------- // MARK: - Lifecycle diff --git a/VDS/Components/Icon/Icon.swift b/VDS/Components/Icon/Icon.swift index 39b42175..e85dc751 100644 --- a/VDS/Components/Icon/Icon.swift +++ b/VDS/Components/Icon/Icon.swift @@ -69,9 +69,7 @@ open class Icon: View { open var customSize: Int? { didSet { setNeedsUpdate() } } /// The natural size for the receiving view, considering only properties of the view itself. - open override var intrinsicContentSize: CGSize { - dimensions - } + open override var intrinsicContentSize: CGSize { dimensions } //functions //-------------------------------------------------- diff --git a/VDS/Components/Line/Line.swift b/VDS/Components/Line/Line.swift index 4135678f..17bf92c1 100644 --- a/VDS/Components/Line/Line.swift +++ b/VDS/Components/Line/Line.swift @@ -41,6 +41,12 @@ open class Line: View { case horizontal, vertical } + //-------------------------------------------------- + // MARK: - Configuration + //-------------------------------------------------- + /// Width of the line. + public let lineWidth: CGFloat = 1.0 + //-------------------------------------------------- // MARK: - Public Properties //-------------------------------------------------- @@ -83,9 +89,7 @@ open class Line: View { open override func updateView() { super.updateView() - backgroundColor = lineViewColorConfiguration.getColor(self) - - invalidateIntrinsicContentSize() + setNeedsDisplay() } /// Resets to default settings. @@ -94,4 +98,22 @@ open class Line: View { style = .primary orientation = .horizontal } + + open override func draw(_ rect: CGRect) { + guard let context = UIGraphicsGetCurrentContext() else { return } + + context.setStrokeColor(lineViewColorConfiguration.getColor(self).cgColor) + context.setLineWidth(lineWidth) + + if orientation == .horizontal { + context.move(to: CGPoint(x: 0, y: rect.height / 2)) + context.addLine(to: CGPoint(x: rect.width, y: rect.height / 2)) + } else { + context.move(to: CGPoint(x: rect.width / 2, y: 0)) + context.addLine(to: CGPoint(x: rect.width / 2, y: rect.height)) + } + + context.strokePath() + } + }