From e90feadd113655d33559b72d1a00ce4ac23fa5fb Mon Sep 17 00:00:00 2001 From: Brandon McQuilkin Date: Thu, 17 Jul 2014 11:55:43 -0400 Subject: [PATCH] Fixed Issue #34 Added Intrinsic content size for use with auto layout. --- Classes/ProgressViews/M13ProgressViewBar.m | 23 ++++++++++++++++-- .../M13ProgressViewBorderedBar.m | 5 ++++ .../M13ProgressViewFilteredImage.m | 5 ++++ Classes/ProgressViews/M13ProgressViewImage.m | 5 ++++ .../M13ProgressViewLetterpress.h | 2 +- .../M13ProgressViewLetterpress.m | 16 ++++++++++-- Classes/ProgressViews/M13ProgressViewMetro.m | 20 ++++++++++++++- Classes/ProgressViews/M13ProgressViewPie.m | 11 +++++++++ .../ProgressViews/M13ProgressViewRadiative.m | 6 +++++ Classes/ProgressViews/M13ProgressViewRing.m | 6 +++++ .../M13ProgressViewSegmentedBar.m | 5 ++++ .../M13ProgressViewSegmentedRing.m | 9 +++++++ .../ProgressViews/M13ProgressViewStripedBar.m | 11 +++++++++ .../UserInterfaceState.xcuserstate | Bin 54783 -> 55042 bytes M13ProgressSuite/LetterpressViewController.m | 2 +- 15 files changed, 119 insertions(+), 7 deletions(-) diff --git a/Classes/ProgressViews/M13ProgressViewBar.m b/Classes/ProgressViews/M13ProgressViewBar.m index 039296b..4e9e4b1 100644 --- a/Classes/ProgressViews/M13ProgressViewBar.m +++ b/Classes/ProgressViews/M13ProgressViewBar.m @@ -182,8 +182,7 @@ - (void)setProgressBarThickness:(CGFloat)progressBarThickness [self setNeedsDisplay]; //Update strokeWidth _progressLayer.lineWidth = progressBarThickness; - //Update the corner radius - + [self invalidateIntrinsicContentSize]; } #pragma mark Actions @@ -534,6 +533,26 @@ - (void)layoutSubviews } +- (CGSize)intrinsicContentSize +{ + CGFloat labelProgressBufferDistance = _progressBarThickness * 4; + + //Progress bar thickness is the only non-scale based size parameter. + if (_progressDirection == M13ProgressViewBarProgressDirectionBottomToTop || _progressDirection == M13ProgressViewBarProgressDirectionTopToBottom) { + if (_percentagePosition == M13ProgressViewBarPercentagePositionTop || _percentagePosition == M13ProgressViewBarPercentagePositionBottom) { + return CGSizeMake(_progressBarThickness, labelProgressBufferDistance); + } else { + return CGSizeMake(_progressBarThickness + labelProgressBufferDistance, UIViewNoIntrinsicMetric); + } + } else { + if (_percentagePosition == M13ProgressViewBarPercentagePositionTop || _percentagePosition == M13ProgressViewBarPercentagePositionBottom) { + return CGSizeMake(UIViewNoIntrinsicMetric, _progressBarThickness + labelProgressBufferDistance); + } else { + return CGSizeMake(labelProgressBufferDistance, _progressBarThickness); + } + } +} + - (CGFloat)maximumFontSizeThatFitsInRect:(CGRect)frame { //Starting parameters diff --git a/Classes/ProgressViews/M13ProgressViewBorderedBar.m b/Classes/ProgressViews/M13ProgressViewBorderedBar.m index dae8c91..047e9a2 100644 --- a/Classes/ProgressViews/M13ProgressViewBorderedBar.m +++ b/Classes/ProgressViews/M13ProgressViewBorderedBar.m @@ -347,6 +347,11 @@ - (void)layoutSubviews } } +- (CGSize)intrinsicContentSize +{ + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); +} + #pragma mark Drawing - (void)drawRect:(CGRect)rect diff --git a/Classes/ProgressViews/M13ProgressViewFilteredImage.m b/Classes/ProgressViews/M13ProgressViewFilteredImage.m index 79af78b..e47c288 100644 --- a/Classes/ProgressViews/M13ProgressViewFilteredImage.m +++ b/Classes/ProgressViews/M13ProgressViewFilteredImage.m @@ -161,6 +161,11 @@ - (void)layoutSubviews _progressView.frame = self.bounds; } +- (CGSize)intrinsicContentSize +{ + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); +} + #pragma mark Drawing - (void)drawRect:(CGRect)rect diff --git a/Classes/ProgressViews/M13ProgressViewImage.m b/Classes/ProgressViews/M13ProgressViewImage.m index 7c48554..0d23502 100644 --- a/Classes/ProgressViews/M13ProgressViewImage.m +++ b/Classes/ProgressViews/M13ProgressViewImage.m @@ -170,6 +170,11 @@ - (void)layoutSubviews _progressView.frame = self.bounds; } +- (CGSize)intrinsicContentSize +{ + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); +} + #pragma mark Drawing - (void)drawRect:(CGRect)rect diff --git a/Classes/ProgressViews/M13ProgressViewLetterpress.h b/Classes/ProgressViews/M13ProgressViewLetterpress.h index cf5169f..d70aa3f 100644 --- a/Classes/ProgressViews/M13ProgressViewLetterpress.h +++ b/Classes/ProgressViews/M13ProgressViewLetterpress.h @@ -24,7 +24,7 @@ typedef enum { */ @property (nonatomic, assign) M13ProgressViewLetterpressPointShape pointShape; /** - The amount of space between the grid points. + The amount of space between the grid points, as a percentage of the point's size. */ @property (nonatomic, assign) CGFloat pointSpacing; /** diff --git a/Classes/ProgressViews/M13ProgressViewLetterpress.m b/Classes/ProgressViews/M13ProgressViewLetterpress.m index 6e8ca78..0bbbfc4 100644 --- a/Classes/ProgressViews/M13ProgressViewLetterpress.m +++ b/Classes/ProgressViews/M13ProgressViewLetterpress.m @@ -108,7 +108,6 @@ - (void)setup _springDisplayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(rotateWithDisplayLink:)]; [_springDisplayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:(id)kCFRunLoopCommonModes]; - } - (void)setFrame:(CGRect)frame @@ -127,6 +126,12 @@ - (void)setNeedsDisplay [letterpressView setNeedsDisplay]; } +- (CGSize)intrinsicContentSize +{ + //Everything is based on scale. No minimum size. + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); +} + #pragma mark - Properties - (void)setNumberOfGridPoints:(CGPoint)numberOfGridPoints @@ -143,6 +148,11 @@ - (void)setPointShape:(M13ProgressViewLetterpressPointShape)pointShape - (void)setPointSpacing:(CGFloat)pointSpacing { + if (pointSpacing > 1) { + pointSpacing = 1; + } else if (pointSpacing < 0) { + pointSpacing = 0; + } _pointSpacing = pointSpacing; [self setNeedsDisplay]; } @@ -263,7 +273,7 @@ - (void)drawRect:(CGRect)rect //Calculat the rect of the point pointRect.size = pointSize; pointRect.origin = CGPointMake(pointSize.width * x, pointSize.height * y); - pointRect = CGRectInset(pointRect, _progressView.pointSpacing, _progressView.pointSpacing); + pointRect = CGRectInset(pointRect, pointSize.width * _progressView.pointSpacing, pointSize.height * _progressView.pointSpacing); //Set the fill color if (index < indexToFillTo) { @@ -285,4 +295,6 @@ - (void)drawRect:(CGRect)rect } } + + @end diff --git a/Classes/ProgressViews/M13ProgressViewMetro.m b/Classes/ProgressViews/M13ProgressViewMetro.m index 973a87c..b7572ef 100644 --- a/Classes/ProgressViews/M13ProgressViewMetro.m +++ b/Classes/ProgressViews/M13ProgressViewMetro.m @@ -213,6 +213,15 @@ - (void)setAnimationShape:(M13ProgressViewMetroAnimationShape)animationShape - (void)setNumberOfDots:(NSUInteger)numberOfDots { _numberOfDots = numberOfDots; + [self invalidateIntrinsicContentSize]; + [self stopAnimating]; + [self beginAnimating]; +} + +- (void)setDotSize:(CGSize)dotSize +{ + _dotSize = dotSize; + [self invalidateIntrinsicContentSize]; [self stopAnimating]; [self beginAnimating]; } @@ -285,7 +294,16 @@ - (void)showProgress } pastIndexToHighlightTo = indexToHighlightTo; } - +} + +- (CGSize)intrinsicContentSize +{ + //No real constraint on size. + if (_animationShape == M13ProgressViewMetroAnimationShapeEllipse || _animationShape == M13ProgressViewMetroAnimationShapeRectangle) { + return CGSizeMake(3 * _dotSize.width, 3 * _dotSize.height); + } else { + return CGSizeMake(_dotSize.width * _numberOfDots, _dotSize.height); + } } #pragma mark Animation diff --git a/Classes/ProgressViews/M13ProgressViewPie.m b/Classes/ProgressViews/M13ProgressViewPie.m index a8a0172..aba51d1 100644 --- a/Classes/ProgressViews/M13ProgressViewPie.m +++ b/Classes/ProgressViews/M13ProgressViewPie.m @@ -145,6 +145,7 @@ - (void)setBackgroundRingWidth:(CGFloat)backgroundRingWidth _backgroundLayer.lineWidth = _backgroundRingWidth; _backgroundRingWidthOverriden = YES; [self setNeedsDisplay]; + [self invalidateIntrinsicContentSize]; } #pragma mark Actions @@ -343,6 +344,16 @@ - (void)layoutSubviews [self setNeedsDisplay]; } +- (CGSize)intrinsicContentSize +{ + if (!_backgroundRingWidthOverriden) { + //Based on scale + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); + } else { + return CGSizeMake(2 * _backgroundRingWidth, 2 * _backgroundRingWidth); + } +} + - (void)setFrame:(CGRect)frame { //Keep the progress view square. diff --git a/Classes/ProgressViews/M13ProgressViewRadiative.m b/Classes/ProgressViews/M13ProgressViewRadiative.m index 4d1caed..c2b2a06 100644 --- a/Classes/ProgressViews/M13ProgressViewRadiative.m +++ b/Classes/ProgressViews/M13ProgressViewRadiative.m @@ -221,6 +221,12 @@ - (void)layoutSubviews } } +- (CGSize)intrinsicContentSize +{ + //The width and height should be set with constraints. Can't think of a good way to figure out the minimum size with the point and scale based size calculations. + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); +} + #pragma mark Drawing - (void)drawRect:(CGRect)rect diff --git a/Classes/ProgressViews/M13ProgressViewRing.m b/Classes/ProgressViews/M13ProgressViewRing.m index 1001b5e..ff85d43 100755 --- a/Classes/ProgressViews/M13ProgressViewRing.m +++ b/Classes/ProgressViews/M13ProgressViewRing.m @@ -376,6 +376,12 @@ - (void)setFrame:(CGRect)frame [super setFrame:frame]; } +- (CGSize)intrinsicContentSize +{ + //This progress view scales + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); +} + #pragma mark Drawing - (void)drawRect:(CGRect)rect diff --git a/Classes/ProgressViews/M13ProgressViewSegmentedBar.m b/Classes/ProgressViews/M13ProgressViewSegmentedBar.m index e130654..921425d 100644 --- a/Classes/ProgressViews/M13ProgressViewSegmentedBar.m +++ b/Classes/ProgressViews/M13ProgressViewSegmentedBar.m @@ -272,6 +272,11 @@ - (void)layoutSubviews } +- (CGSize)intrinsicContentSize +{ + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); +} + #pragma mark Drawing - (NSInteger)numberOfFullSegments diff --git a/Classes/ProgressViews/M13ProgressViewSegmentedRing.m b/Classes/ProgressViews/M13ProgressViewSegmentedRing.m index 1fe77c0..5141761 100644 --- a/Classes/ProgressViews/M13ProgressViewSegmentedRing.m +++ b/Classes/ProgressViews/M13ProgressViewSegmentedRing.m @@ -159,6 +159,7 @@ - (void)setProgressRingWidth:(CGFloat)progressRingWidth _progressRingWidthOverriden = YES; [self updateAngles]; [self setNeedsDisplay]; + [self invalidateIntrinsicContentSize]; } - (void)setShowPercentage:(BOOL)showPercentage @@ -391,6 +392,14 @@ - (void)layoutSubviews [self setNeedsDisplay]; } +- (CGSize)intrinsicContentSize +{ + //This might need a little more fine tuning. + CGFloat base = _progressRingWidth * 2; + + return CGSizeMake(base, base); +} + - (void)setFrame:(CGRect)frame { //Keep the progress view square. diff --git a/Classes/ProgressViews/M13ProgressViewStripedBar.m b/Classes/ProgressViews/M13ProgressViewStripedBar.m index 17eac1a..347f3c8 100644 --- a/Classes/ProgressViews/M13ProgressViewStripedBar.m +++ b/Classes/ProgressViews/M13ProgressViewStripedBar.m @@ -167,12 +167,14 @@ - (void)setCornerRadius:(CGFloat)cornerRadius - (void)setStripeWidth:(CGFloat)stripeWidth { _stripeWidth = stripeWidth; + [self invalidateIntrinsicContentSize]; [self setNeedsDisplay]; } - (void)setBorderWidth:(CGFloat)borderWidth { _borderWidth = borderWidth; + [self invalidateIntrinsicContentSize]; [self setNeedsDisplay]; } @@ -282,6 +284,15 @@ - (void)layoutSubviews [self drawStripes]; } +- (CGSize)intrinsicContentSize +{ + //Border + border to progress bar margin. + CGFloat base = (_borderWidth * 2) + (_borderWidth * 2) + 1; + //Add some stripes so we can see them. + CGFloat width = base + (2 * _stripeWidth); + return CGSizeMake(width, base); +} + #pragma mark Drawing - (void)drawRect:(CGRect)rect diff --git a/M13ProgressSuite.xcworkspace/xcuserdata/Brandon.xcuserdatad/UserInterfaceState.xcuserstate b/M13ProgressSuite.xcworkspace/xcuserdata/Brandon.xcuserdatad/UserInterfaceState.xcuserstate index 228315eff8f95bd5409eab1471896170790246c6..e7ea0cd8abe0004fec30d888fc64ae29792e547d 100644 GIT binary patch literal 55042 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

|b$GoFz_;3yYf( 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 AegFUf literal 54783 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 Nk8}Rt|NnM7{s#=uD_;Nr diff --git a/M13ProgressSuite/LetterpressViewController.m b/M13ProgressSuite/LetterpressViewController.m index ba23a12..8dee442 100644 --- a/M13ProgressSuite/LetterpressViewController.m +++ b/M13ProgressSuite/LetterpressViewController.m @@ -59,7 +59,7 @@ - (void)pointShapeChanged:(id)sender _progressView.pointSpacing = 0.0; } else { _progressView.pointShape = M13ProgressViewLetterpressPointShapeSquare; - _progressView.pointSpacing = 2.0; + _progressView.pointSpacing = .15; } }