Skip to content

Commit

Permalink
Issue 71:
Browse files Browse the repository at this point in the history
Feature request: Shadow support for handles
  • Loading branch information
redcapua committed Dec 4, 2018
1 parent 9049257 commit 2658bfb
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Example/RangeSliderDemo/ViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ - (void)viewDidLoad {
self.rangeSlider.maxValue = 200;
self.rangeSlider.selectedMinimum = 50;
self.rangeSlider.selectedMaximum = 150;

self.rangeSlider.shadowRadius = 2;
self.rangeSlider.shadowOpacity = 0.75;

[self.rangeSlider addTarget:self action:@selector(logControlEvent:) forControlEvents:UIControlEventValueChanged];

//currency range slider
Expand Down Expand Up @@ -58,6 +62,10 @@ - (void)viewDidLoad {
NSNumberFormatter *customFormatter = [[NSNumberFormatter alloc] init];
customFormatter.positiveSuffix = @"B";
self.rangeSliderCustom.numberFormatterOverride = customFormatter;

self.rangeSliderCustom.shadowRadius = 3;
self.rangeSliderCustom.shadowOpacity = 0.5;

}

- (void)didReceiveMemoryWarning {
Expand Down
11 changes: 11 additions & 0 deletions Pod/Classes/TTRangeSlider.h
Original file line number Diff line number Diff line change
Expand Up @@ -193,4 +193,15 @@ typedef NS_ENUM(NSInteger, LabelPosition) {
*/
@property (nonatomic, assign) LabelPosition labelPosition;

/**
*Set radius of the shadow for handle. Also used for setting shadow offset value
*/

@property (nonatomic, assign) IBInspectable CGFloat shadowRadius;

/**
*Set the opacity of the shadow for handle
*/
@property (nonatomic, assign) IBInspectable float shadowOpacity;

@end
37 changes: 37 additions & 0 deletions Pod/Classes/TTRangeSlider.m
Original file line number Diff line number Diff line change
Expand Up @@ -692,6 +692,43 @@ -(void)setBarSidePadding:(CGFloat)barSidePadding {
[self updateLabelPositions];
}

- (void)setShadowRadius:(CGFloat)shadowRadius {
_shadowRadius = shadowRadius;
_shadowOpacity = 1.0;

[self.leftHandle removeFromSuperlayer];

self.leftHandle.shadowOffset = CGSizeMake(0.0, self.shadowRadius);
self.leftHandle.shadowRadius = self.shadowRadius;
self.leftHandle.shadowColor = self.tintColor.CGColor;

[self.layer addSublayer:self.rightHandle];

self.rightHandle.shadowOffset = CGSizeMake(0.0, _shadowRadius);
self.rightHandle.shadowRadius = _shadowRadius;
self.rightHandle.shadowColor = self.tintColor.CGColor;

[self.layer addSublayer:self.rightHandle];
}

- (void)setShadowOpacity:(float)shadowOpacity {
_shadowOpacity = shadowOpacity;

[self.leftHandle removeFromSuperlayer];

self.leftHandle.shadowOffset = CGSizeMake(0.0, self.shadowRadius);
self.leftHandle.shadowOpacity = self.shadowOpacity;
self.leftHandle.shadowColor = self.tintColor.CGColor;

[self.layer addSublayer:self.rightHandle];

self.rightHandle.shadowOffset = CGSizeMake(0.0, _shadowRadius);
self.rightHandle.shadowOpacity = _shadowOpacity;
self.rightHandle.shadowColor = self.tintColor.CGColor;

[self.layer addSublayer:self.rightHandle];
}

#pragma mark - UIAccessibility

- (BOOL)isAccessibilityElement
Expand Down

0 comments on commit 2658bfb

Please sign in to comment.