You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/04/17 05:49:38 UTC

[34/50] [abbrv] incubator-weex git commit: * [ios] bugfix gradient layer

* [ios] bugfix gradient layer


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6b421365
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6b421365
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6b421365

Branch: refs/heads/dev
Commit: 6b4213655dcc0e879997de88e06f7d56a9b37778
Parents: 858cbc8
Author: acton393 <zh...@gmail.com>
Authored: Fri Apr 14 15:04:23 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Fri Apr 14 15:04:23 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h | 1 +
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m              | 7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6b421365/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
index f548ff9..07a1753 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
@@ -47,6 +47,7 @@
      */
     UIColor *_backgroundColor;
     NSString *_backgroundImage;
+    CAGradientLayer * _gradientLayer;
     WXClipType _clipToBounds;
     UIView *_view;
     CGFloat _opacity;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6b421365/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
index 97125ae..a017011 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@ -491,8 +491,11 @@
         if(strongSelf) {
             UIColor * startColor = (UIColor*)linearGradient[@"startColor"];
             UIColor * endColor = (UIColor*)linearGradient[@"endColor"];
-            CAGradientLayer * gradientLayer = [WXUtility gradientLayerFromColors:@[startColor, endColor] locations:nil frame:strongSelf.view.bounds gradientType:[linearGradient[@"gradientType"] integerValue]];
-            [strongSelf.view.layer insertSublayer:gradientLayer atIndex:0];
+            if ([strongSelf.view.layer.sublayers containsObject:_gradientLayer]) {
+                [_gradientLayer removeFromSuperlayer];
+            }
+             _gradientLayer = [WXUtility gradientLayerFromColors:@[startColor, endColor] locations:nil frame:strongSelf.view.bounds gradientType:[linearGradient[@"gradientType"] integerValue]];
+            [strongSelf.view.layer insertSublayer:_gradientLayer atIndex:0];
             strongSelf.view.layer.masksToBounds = YES;
         }
     });