From 0107e2ad619d9f4ee6774e7425d3069795a3109a Mon Sep 17 00:00:00 2001 From: Rossen Hristov Date: Wed, 23 Mar 2016 14:42:23 +0200 Subject: [PATCH] Fix onClipToBoundsChanged implementation Resolves #1829 --- ui/layouts/layout-base.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ui/layouts/layout-base.ts b/ui/layouts/layout-base.ts index 8bf961e09..ca2159dee 100644 --- a/ui/layouts/layout-base.ts +++ b/ui/layouts/layout-base.ts @@ -5,6 +5,8 @@ import dependencyObservable = require("ui/core/dependency-observable"); import proxy = require("ui/core/proxy"); import utils = require("utils/utils"); import style = require("ui/styling/style"); +import * as platformModule from "platform"; +var platform: typeof platformModule; export class LayoutBase extends view.CustomLayoutView implements definition.LayoutBase, view.AddChildFromBuilder { @@ -119,17 +121,19 @@ export class LayoutBase extends view.CustomLayoutView implements definition.Layo } protected onClipToBoundsChanged(oldValue: boolean, newValue: boolean) { - var nativeView = this._nativeView; - if (!nativeView) { + if (!this._nativeView) { return; } - if (nativeView instanceof UIView) { - nativeView.clipsToBounds = newValue; + if (!platform) { + platform = require("platform"); } - else if (nativeView instanceof android.view.ViewGroup) { - nativeView.setClipChildren(newValue); + if (platform.device.os === platform.platformNames.ios) { + this._nativeView.clipsToBounds = newValue; + } + else if (platform.device.os === platform.platformNames.android) { + this._nativeView.setClipChildren(newValue); } }