From 8458dbdcac183a5fdb80c71d4640ddfece1d2c9b Mon Sep 17 00:00:00 2001 From: spromicky Date: Sat, 29 Dec 2018 13:44:20 +0200 Subject: [PATCH] add defaults to `initWithCoder:` Fix #27 --- StepSlider/source/StepSlider/StepSlider.m | 47 +++++++++++++---------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/StepSlider/source/StepSlider/StepSlider.m b/StepSlider/source/StepSlider/StepSlider.m index c927522..ba99ce9 100644 --- a/StepSlider/source/StepSlider/StepSlider.m +++ b/StepSlider/source/StepSlider/StepSlider.m @@ -55,19 +55,11 @@ @implementation StepSlider #pragma mark - Init -- (instancetype)init -{ - self = [super init]; - if (self) { - [self generalSetup]; - } - return self; -} - - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { + _index = 2; [self generalSetup]; } return self; @@ -77,7 +69,7 @@ - (instancetype)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if (self) { - [self addLayers]; + [self generalSetup]; } return self; } @@ -104,17 +96,32 @@ - (void)generalSetup { [self addLayers]; - _maxCount = 4; - _index = 2; - _trackHeight = 4.f; - _trackCircleRadius = 5.f; - _sliderCircleRadius = 12.5f; - _trackColor = [UIColor colorWithWhite:0.41f alpha:1.f]; - _sliderCircleColor = [UIColor whiteColor]; - _labelOffset = 20.f; - _labelColor = [UIColor whiteColor]; + if (_maxCount == 0) { + _maxCount = 4; + } + if (_trackHeight == 0.f) { + _trackHeight = 4.f; + } + if (_trackCircleRadius == 0.f) { + _trackCircleRadius = 5.f; + } + if (_sliderCircleRadius == 0.f) { + _sliderCircleRadius = 12.5f; + } + if (_labelOffset == 0.f) { + _labelOffset = 20.f; + } + if (!_trackColor) { + _trackColor = [UIColor colorWithWhite:0.41f alpha:1.f]; + } + if (!_sliderCircleColor) { + _sliderCircleColor = [UIColor whiteColor]; + } + if (!_labelColor) { + _labelColor = [UIColor whiteColor]; + } + [self updateMaxRadius]; - [self setNeedsLayout]; }