diff options
author | Jordan Kiley <jmkiley@users.noreply.github.com> | 2019-08-20 10:48:26 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-20 10:48:26 -0700 |
commit | 5d1ed5d94194bcbd8c0a66e43e1f10eee0d5f278 (patch) | |
tree | 2bbaff2e895ecf438afafbd42218b4625be0d022 /platform | |
parent | dcf77fbeea35baf36bb50f4e870adc65157b345d (diff) | |
download | qtlocation-mapboxgl-5d1ed5d94194bcbd8c0a66e43e1f10eee0d5f278.tar.gz |
[ios] Fix bug where scale bar shows 0 mm instead of 0 (#15381)
Diffstat (limited to 'platform')
-rw-r--r-- | platform/ios/src/MGLScaleBar.mm | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/platform/ios/src/MGLScaleBar.mm b/platform/ios/src/MGLScaleBar.mm index 9590a99438..993852d8b9 100644 --- a/platform/ios/src/MGLScaleBar.mm +++ b/platform/ios/src/MGLScaleBar.mm @@ -84,7 +84,7 @@ static const MGLRow MGLImperialTable[] ={ @property (nonatomic) UIColor *secondaryColor; @property (nonatomic) CALayer *borderLayer; @property (nonatomic, assign) CGFloat borderWidth; -@property (nonatomic) NSCache* labelImageCache; +@property (nonatomic) NSMutableDictionary* labelImageCache; @property (nonatomic) MGLScaleBarLabel* prototypeLabel; @property (nonatomic) CGFloat lastLabelWidth; @@ -159,7 +159,7 @@ static const CGFloat MGLFeetPerMeter = 3.28084; _formatter = [[MGLDistanceFormatter alloc] init]; // Image labels are now images - _labelImageCache = [[NSCache alloc] init]; + _labelImageCache = [[NSMutableDictionary alloc] init]; _prototypeLabel = [[MGLScaleBarLabel alloc] init]; _prototypeLabel.font = [UIFont systemFontOfSize:8 weight:UIFontWeightMedium]; _prototypeLabel.clipsToBounds = NO; @@ -180,6 +180,17 @@ static const CGFloat MGLFeetPerMeter = 3.28084; // Zero is a special case (no formatting) [self addZeroLabel]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetLabelImageCache) name:NSCurrentLocaleDidChangeNotification object:nil]; +} + +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +- (void)resetLabelImageCache { + self.labelImageCache = [[NSMutableDictionary alloc] init]; + [self addZeroLabel]; } #pragma mark - Dimensions |