diff --git a/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/Example/RangeSliderDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/RangeSliderDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/Example/RangeSliderDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/Example/RangeSliderDemo/Base.lproj/Main.storyboard b/Example/RangeSliderDemo/Base.lproj/Main.storyboard
index 6ffde32..7bc3a35 100644
--- a/Example/RangeSliderDemo/Base.lproj/Main.storyboard
+++ b/Example/RangeSliderDemo/Base.lproj/Main.storyboard
@@ -1,12 +1,9 @@
-
-
-
-
+
+
-
-
+
@@ -23,7 +20,7 @@
-
+
@@ -36,7 +33,7 @@
-
+
@@ -68,13 +65,13 @@
-
+
@@ -105,13 +102,13 @@
-
+
@@ -142,8 +139,8 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example/RangeSliderDemo/ViewController.m b/Example/RangeSliderDemo/ViewController.m
index 77ea5af..1920e61 100644
--- a/Example/RangeSliderDemo/ViewController.m
+++ b/Example/RangeSliderDemo/ViewController.m
@@ -12,6 +12,8 @@ @interface ViewController ()
@property (weak, nonatomic) IBOutlet TTRangeSlider *rangeSlider;
@property (weak, nonatomic) IBOutlet TTRangeSlider *rangeSliderCurrency;
@property (weak, nonatomic) IBOutlet TTRangeSlider *rangeSliderCustom;
+@property (weak, nonatomic) IBOutlet TTRangeSlider *rangeSliderOverridenLabels;
+
@end
@implementation ViewController
@@ -66,6 +68,8 @@ - (void)viewDidLoad {
self.rangeSliderCustom.shadowRadius = 3;
self.rangeSliderCustom.shadowOpacity = 0.5;
+ //override label range slider
+ self.rangeSliderOverridenLabels.delegate = self;
}
- (void)didReceiveMemoryWarning {
@@ -83,4 +87,25 @@ -(void)rangeSlider:(TTRangeSlider *)sender didChangeSelectedMinimumValue:(float)
}
}
+#pragma mark Optional override
+- (NSString *)overrideLabelForRangeSlider:(TTRangeSlider *_Nullable)sender minMaxValue:(float)selectedVal{
+ NSString *returnValue = nil;
+ if (sender == self.rangeSliderOverridenLabels) {
+
+ NSString *str = [NSString stringWithFormat:@"%f", selectedVal];
+ NSString *hexStr = [NSString stringWithFormat:@"%lX",
+ (unsigned long)[str integerValue]];
+ if (sender.selectedMinimum == selectedVal)
+ {
+ returnValue = [NSString stringWithFormat:@"min:%@",hexStr];
+ }
+ else
+ {
+ returnValue = [NSString stringWithFormat:@"max:%@",hexStr];
+ }
+ }
+ return returnValue;
+}
+
+
@end
diff --git a/Pod/Classes/TTRangeSlider.m b/Pod/Classes/TTRangeSlider.m
index b1d71b3..f77284d 100644
--- a/Pod/Classes/TTRangeSlider.m
+++ b/Pod/Classes/TTRangeSlider.m
@@ -270,10 +270,19 @@ - (void)updateLabelValues {
return;
}
- NSNumberFormatter *formatter = (self.numberFormatterOverride != nil) ? self.numberFormatterOverride : self.decimalNumberFormatter;
+ if (self.delegate && [self.delegate respondsToSelector:@selector(overrideLabelForRangeSlider:minMaxValue:)]) {
- self.minLabel.string = [formatter stringFromNumber:@(self.selectedMinimum)];
- self.maxLabel.string = [formatter stringFromNumber:@(self.selectedMaximum)];
+ self.minLabel.string = [self.delegate overrideLabelForRangeSlider:self minMaxValue:self.selectedMinimum];
+ self.maxLabel.string = [self.delegate overrideLabelForRangeSlider:self minMaxValue:self.selectedMaximum];
+
+ }
+ else
+ {
+ NSNumberFormatter *formatter = (self.numberFormatterOverride != nil) ? self.numberFormatterOverride : self.decimalNumberFormatter;
+
+ self.minLabel.string = [formatter stringFromNumber:@(self.selectedMinimum)];
+ self.maxLabel.string = [formatter stringFromNumber:@(self.selectedMaximum)];
+ }
self.minLabelTextSize = [self.minLabel.string sizeWithAttributes:@{NSFontAttributeName:self.minLabelFont}];
self.maxLabelTextSize = [self.maxLabel.string sizeWithAttributes:@{NSFontAttributeName:self.maxLabelFont}];
diff --git a/Pod/Classes/TTRangeSliderDelegate.h b/Pod/Classes/TTRangeSliderDelegate.h
index fa1b678..2d47ef4 100644
--- a/Pod/Classes/TTRangeSliderDelegate.h
+++ b/Pod/Classes/TTRangeSliderDelegate.h
@@ -28,4 +28,10 @@
*/
- (void)didStartTouchesInRangeSlider:(TTRangeSlider *)sender;
+/**
+ * Called when the user wants to override the selected min/max labels based upon their passed in float values.
+ */
+
+- (nullable NSString *)overrideLabelForRangeSlider:(TTRangeSlider *_Nullable)sender minMaxValue:(float)selectedVal;
+
@end
diff --git a/README.md b/README.md
index c913144..c6d109b 100644
--- a/README.md
+++ b/README.md
@@ -43,6 +43,10 @@ To be notified when the slider’s value changes, register your action method wi
Alternatively you can implement the `TTRangeSliderDelegate` protocol and respond to changes in the `rangeSlider:didChangeSelectedMinimumValue:andMaximumValue:` method.
+## Overriding the selected minimum/maximum labels
+
+To override the selected min/max labels, implement the `TTRangeSliderDelegate` protocol and respond to changes in the `overrideLabelForRangeSlider:minMaxValue:` method.
+
Other customisation of the control is done using the following properties:
#### `tintColor`
The tintColor property (which you can also set in Interface Builder) sets the overall colour of the control, including the colour of the line, the two handles, and the labels.