From 55f922e5a1199d1146615fad93300e5632167d35 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 15 Sep 2023 14:57:17 -0500 Subject: [PATCH] fixed issue with line. Signed-off-by: Matt Bruce --- VDS/Components/Line/Line.swift | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) 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() + } + }