Skip to content

Commit b1e9d0b

Browse files
committed
Prevent crippling of scaling due to merged commits
1 parent d6b803a commit b1e9d0b

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Charts/Classes/Charts/BarLineChartViewBase.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -710,12 +710,14 @@ public class BarLineChartViewBase: ChartViewBase, BarLineScatterCandleBubbleChar
710710
else if (recognizer.state == UIGestureRecognizerState.Changed)
711711
{
712712
let isZoomingOut = (recognizer.scale < 1)
713-
let canZoomMoreX = isZoomingOut ? _viewPortHandler.canZoomOutMoreX : _viewPortHandler.canZoomInMoreX
714-
let canZoomMoreY = isZoomingOut ? _viewPortHandler.canZoomOutMoreY : _viewPortHandler.canZoomInMoreY
713+
var canZoomMoreX = isZoomingOut ? _viewPortHandler.canZoomOutMoreX : _viewPortHandler.canZoomInMoreX
714+
var canZoomMoreY = isZoomingOut ? _viewPortHandler.canZoomOutMoreY : _viewPortHandler.canZoomInMoreY
715715

716-
if (_isScaling && canZoomMoreX && canZoomMoreY)
716+
if (_isScaling)
717717
{
718-
if (_gestureScaleAxis == .Both || _gestureScaleAxis == .Y && _scaleYEnabled)
718+
canZoomMoreX = canZoomMoreX && _scaleXEnabled && (_gestureScaleAxis == .Both || _gestureScaleAxis == .X);
719+
canZoomMoreY = canZoomMoreY && _scaleYEnabled && (_gestureScaleAxis == .Both || _gestureScaleAxis == .Y);
720+
if canZoomMoreX || canZoomMoreY
719721
{
720722
var location = recognizer.locationInView(self)
721723
location.x = location.x - _viewPortHandler.offsetLeft
@@ -729,8 +731,8 @@ public class BarLineChartViewBase: ChartViewBase, BarLineScatterCandleBubbleChar
729731
location.y = -(_viewPortHandler.chartHeight - location.y - _viewPortHandler.offsetBottom)
730732
}
731733

732-
let scaleX = (_gestureScaleAxis == .Both || _gestureScaleAxis == .X) && _scaleXEnabled ? recognizer.scale : 1.0
733-
let scaleY = (_gestureScaleAxis == .Both || _gestureScaleAxis == .Y) && _scaleYEnabled ? recognizer.scale : 1.0
734+
let scaleX = canZoomMoreX ? recognizer.scale : 1.0
735+
let scaleY = canZoomMoreY ? recognizer.scale : 1.0
734736

735737
var matrix = CGAffineTransformMakeTranslation(location.x, location.y)
736738
matrix = CGAffineTransformScale(matrix, scaleX, scaleY)

0 commit comments

Comments
 (0)