From 078bd4890986c7487c5bda6ba13934f4420a8c8d Mon Sep 17 00:00:00 2001 From: Panayot Cankov Date: Wed, 12 Apr 2017 10:04:02 +0300 Subject: [PATCH] Scaling to zero should be avoided in iOS as the underlying system won't be able to decompose the resulting affine matrix, but in cases of 0 we were setting it to 1, we will now set it to 1e-6. --- tns-core-modules/ui/core/view/view.ios.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tns-core-modules/ui/core/view/view.ios.ts b/tns-core-modules/ui/core/view/view.ios.ts index 24335d802..9d38a5a0f 100644 --- a/tns-core-modules/ui/core/view/view.ios.ts +++ b/tns-core-modules/ui/core/view/view.ios.ts @@ -234,13 +234,13 @@ export class View extends ViewCommon { public updateNativeTransform() { let translateX = layout.toDeviceIndependentPixels(Length.toDevicePixels(this.translateX || 0, 0)); let translateY = layout.toDeviceIndependentPixels(Length.toDevicePixels(this.translateY || 0, 0)); - let scaleX = this.scaleX || 1; - let scaleY = this.scaleY || 1; + let scaleX = this.scaleX || 1e-6; + let scaleY = this.scaleY || 1e-6; let rotate = this.rotate || 0; let newTransform = CGAffineTransformIdentity; newTransform = CGAffineTransformTranslate(newTransform, translateX, translateY); newTransform = CGAffineTransformRotate(newTransform, rotate * Math.PI / 180); - newTransform = CGAffineTransformScale(newTransform, scaleX === 0 ? 0.001 : scaleX, scaleY === 0 ? 0.001 : scaleY); + newTransform = CGAffineTransformScale(newTransform, scaleX, scaleY); if (!CGAffineTransformEqualToTransform(this.nativeView.transform, newTransform)) { let updateSuspended = this._isPresentationLayerUpdateSuspeneded(); if (!updateSuspended) {