You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2017/06/02 03:58:47 UTC
[6/6] incubator-weex git commit: * [ios] remove notification for text
if needs
* [ios] remove notification for text if needs
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6ed14d32
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6ed14d32
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6ed14d32
Branch: refs/heads/0.14-dev
Commit: 6ed14d32fc885066d2bdf0788f9c2631c5ee6e35
Parents: 20093de
Author: acton393 <zh...@gmail.com>
Authored: Fri Jun 2 11:30:03 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Fri Jun 2 11:37:48 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6ed14d32/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
index ce38baf..bc36a40 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
@@ -116,6 +116,8 @@ CGFloat WXTextDefaultLineThroughWidth = 1.2;
CGFloat _lineHeight;
CGFloat _letterSpacing;
BOOL _truncationLine; // support trunk tail
+
+ BOOL _needsRemoveObserver;
}
+ (void)setRenderUsingCoreText:(BOOL)usingCoreText
@@ -138,6 +140,7 @@ CGFloat WXTextDefaultLineThroughWidth = 1.2;
self = [super initWithRef:ref type:type styles:styles attributes:attributes events:events weexInstance:weexInstance];
if (self) {
// just for coretext and textkit render replacement
+ _needsRemoveObserver = NO;
if ([attributes objectForKey:@"coretext"]) {
_useCoreTextAttr = [WXConvert NSString:attributes[@"coretext"]];
} else {
@@ -169,7 +172,9 @@ CGFloat WXTextDefaultLineThroughWidth = 1.2;
- (void)dealloc
{
- [[NSNotificationCenter defaultCenter] removeObserver:self];
+ if (_needsRemoveObserver) {
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:WX_ICONFONT_DOWNLOAD_NOTIFICATION object:nil];
+ }
}
#define WX_STYLE_FILL_TEXT(key, prop, type, needLayout)\
@@ -361,6 +366,7 @@ do {\
//custom localSrc is cached
if (!fontLocalSrc && fontSrc) {
// if use custom font, when the custom font download finish, refresh text.
+ _needsRemoveObserver = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(repaintText:) name:WX_ICONFONT_DOWNLOAD_NOTIFICATION object:nil];
}
}
@@ -439,6 +445,7 @@ do {\
//custom localSrc is cached
if (!fontLocalSrc && fontSrc) {
// if use custom font, when the custom font download finish, refresh text.
+ _needsRemoveObserver = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(repaintText:) name:WX_ICONFONT_DOWNLOAD_NOTIFICATION object:nil];
}
}