From 150af0185e432a4a196a3d6f1c8d5df38e2e7be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=CC=81s=CC=8C=20Hromadni=CC=81k?= Date: Fri, 22 Sep 2017 16:32:32 +0200 Subject: [PATCH 1/3] Add track height property --- .../UserInterfaceState.xcuserstate | Bin 0 -> 12651 bytes RangeSlider/RangeSlider.swift | 10 +++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 RangeSlider.xcodeproj/project.xcworkspace/xcuserdata/Luke.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/RangeSlider.xcodeproj/project.xcworkspace/xcuserdata/Luke.xcuserdatad/UserInterfaceState.xcuserstate b/RangeSlider.xcodeproj/project.xcworkspace/xcuserdata/Luke.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..64f16afbca80a1a4f6f90ac2ae71ec560d09b7a5 GIT binary patch literal 12651 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 QMEa)Bh9Q*n?L7AX0GM>9%K!iX literal 0 HcmV?d00001 diff --git a/RangeSlider/RangeSlider.swift b/RangeSlider/RangeSlider.swift index ccaa0f2..ff82f08 100755 --- a/RangeSlider/RangeSlider.swift +++ b/RangeSlider/RangeSlider.swift @@ -175,6 +175,12 @@ public class RangeSlider: UIControl { } } + var trackHeight: CGFloat? = nil { + didSet { + updateLayerFrames() + } + } + fileprivate var previouslocation = CGPoint() fileprivate let trackLayer = RangeSliderTrackLayer() @@ -226,7 +232,9 @@ public class RangeSlider: UIControl { CATransaction.begin() CATransaction.setDisableActions(true) - trackLayer.frame = bounds.insetBy(dx: 0.0, dy: bounds.height/3) + let trackHeight = self.trackHeight ?? bounds.height / 3 + + trackLayer.frame = bounds.insetBy(dx: 0.0, dy: trackHeight) trackLayer.setNeedsDisplay() let lowerThumbCenter = CGFloat(positionForValue(lowerValue)) From 9eda4e2388d2a6035dda5304daf0b47f46fe31dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=CC=81s=CC=8C=20Hromadni=CC=81k?= Date: Fri, 22 Sep 2017 16:42:07 +0200 Subject: [PATCH 2/3] Make trackHeight property public --- .../UserInterfaceState.xcuserstate | Bin 12651 -> 12824 bytes RangeSlider/RangeSlider.swift | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/RangeSlider.xcodeproj/project.xcworkspace/xcuserdata/Luke.xcuserdatad/UserInterfaceState.xcuserstate b/RangeSlider.xcodeproj/project.xcworkspace/xcuserdata/Luke.xcuserdatad/UserInterfaceState.xcuserstate index 64f16afbca80a1a4f6f90ac2ae71ec560d09b7a5..da5f36a39716c0e006d23ad7917e28d007c6e8ae 100644 GIT binary patch delta 6721 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 RhLD7LZvsW!shlrHq!QQ0RcRj8Y&c>}i1jGKIEm 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 Date: Fri, 22 Sep 2017 16:47:16 +0200 Subject: [PATCH 3/3] Fix bad offset computation --- .../UserInterfaceState.xcuserstate | Bin 12824 -> 12834 bytes RangeSlider/RangeSlider.swift | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RangeSlider.xcodeproj/project.xcworkspace/xcuserdata/Luke.xcuserdatad/UserInterfaceState.xcuserstate b/RangeSlider.xcodeproj/project.xcworkspace/xcuserdata/Luke.xcuserdatad/UserInterfaceState.xcuserstate index da5f36a39716c0e006d23ad7917e28d007c6e8ae..d2d21a78cd6c6564da61a06b50af1232e3d729d9 100644 GIT binary patch delta 5472 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 delta 5411 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 Z>>ErA4yt@4M}$

JC-CR^Nkz{|}Kwa+m-B diff --git a/RangeSlider/RangeSlider.swift b/RangeSlider/RangeSlider.swift index 5817a49..71600be 100755 --- a/RangeSlider/RangeSlider.swift +++ b/RangeSlider/RangeSlider.swift @@ -232,9 +232,9 @@ public class RangeSlider: UIControl { CATransaction.begin() CATransaction.setDisableActions(true) - let trackHeight = self.trackHeight ?? bounds.height / 3 + let trackOffset = trackHeight.map { (bounds.height - $0) / 2 } ?? bounds.height / 3 - trackLayer.frame = bounds.insetBy(dx: 0.0, dy: trackHeight) + trackLayer.frame = bounds.insetBy(dx: 0.0, dy: trackOffset) trackLayer.setNeedsDisplay() let lowerThumbCenter = CGFloat(positionForValue(lowerValue))