From 68c6fd42eaf3c436a360cc1e9c7fb4b69af02768 Mon Sep 17 00:00:00 2001 From: joohansson Date: Fri, 14 Sep 2018 14:06:37 +0200 Subject: [PATCH 1/4] Support tileSize --- Headers/JCTiledLayer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Headers/JCTiledLayer.h b/Headers/JCTiledLayer.h index 9cef5953..33896f84 100644 --- a/Headers/JCTiledLayer.h +++ b/Headers/JCTiledLayer.h @@ -25,4 +25,5 @@ #import @interface JCTiledLayer : CATiledLayer +@property (atomic, assign) CGSize tileSize; @end From 01939eac0b0d776675e92a2a03040d06512d07b3 Mon Sep 17 00:00:00 2001 From: joohansson Date: Fri, 14 Sep 2018 14:07:28 +0200 Subject: [PATCH 2/4] Support tileSize change --- Headers/JCTiledView.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Headers/JCTiledView.h b/Headers/JCTiledView.h index 4a13eef4..6dbb7b8a 100644 --- a/Headers/JCTiledView.h +++ b/Headers/JCTiledView.h @@ -39,7 +39,7 @@ NS_ASSUME_NONNULL_BEGIN @interface JCTiledView : UIView @property (nonatomic, weak, nullable) id delegate; -@property (nonatomic, readonly) CGSize tileSize; +@property (nonatomic, assign) CGSize tileSize; @property (nonatomic, assign) size_t numberOfZoomLevels; @property (nonatomic, assign) BOOL shouldAnnotateRect; From cf2d780bb56c6ed3359ea5b32cf8f79c270bc455 Mon Sep 17 00:00:00 2001 From: joohansson Date: Fri, 14 Sep 2018 14:08:05 +0200 Subject: [PATCH 3/4] Support tileSize --- JCTiledScrollView/Source/JCTiledLayer.m | 1 + 1 file changed, 1 insertion(+) diff --git a/JCTiledScrollView/Source/JCTiledLayer.m b/JCTiledScrollView/Source/JCTiledLayer.m index 80e3afbb..5be0a205 100644 --- a/JCTiledScrollView/Source/JCTiledLayer.m +++ b/JCTiledScrollView/Source/JCTiledLayer.m @@ -27,6 +27,7 @@ static const CFTimeInterval kDefaultFadeDuration = 0.08; @implementation JCTiledLayer +@synthesize tileSize = _tileSize; + (CFTimeInterval)fadeDuration { From 973bad1386423a38b12c477f4d96217ea3e8d551 Mon Sep 17 00:00:00 2001 From: joohansson Date: Fri, 14 Sep 2018 14:11:54 +0200 Subject: [PATCH 4/4] Support changing tileSize Will allow changing tileSize from swift code and also set correct size in JCTiledLayer. Tested with 512x512 tiles Use like this: let scrollView = JCTiledScrollView(frame: self.view.frame, contentSize: imageSize) scrollView.tiledView.tileSize = CGSize(width: CGFloat(256.0), height: CGFloat(256.0)) --- JCTiledScrollView/Source/JCTiledView.m | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/JCTiledScrollView/Source/JCTiledView.m b/JCTiledScrollView/Source/JCTiledView.m index deb0abea..4fa3f055 100644 --- a/JCTiledScrollView/Source/JCTiledView.m +++ b/JCTiledScrollView/Source/JCTiledView.m @@ -34,7 +34,7 @@ - (JCTiledLayer *)tiledLayer; @implementation JCTiledView -@dynamic tileSize; +@synthesize tileSize = _tileSize; @synthesize delegate = _delegate; @synthesize shouldAnnotateRect = _shouldAnnotateRect; @@ -49,6 +49,7 @@ - (id)initWithFrame:(CGRect)frame { self.numberOfZoomLevels = 3; self.shouldAnnotateRect = NO; + self.tileSize = CGSizeMake(kDefaultTileSize, kDefaultTileSize); } return self; } @@ -57,12 +58,9 @@ - (id)initWithFrame:(CGRect)frame - (JCTiledLayer *)tiledLayer { - return (JCTiledLayer *)self.layer; -} - -- (CGSize)tileSize -{ - return CGSizeMake(kDefaultTileSize, kDefaultTileSize); + JCTiledLayer * modifiedLayer = (JCTiledLayer *) self.layer; + modifiedLayer.tileSize = self.tileSize; + return modifiedLayer; } - (size_t)numberOfZoomLevels