@@ -425,27 +425,28 @@ - (void)observeValueForKeyPath:(NSString *)keyPath
425425 }
426426}
427427
428- - (void )setFrame : (CGRect)frame forView : (UIView *)view {
428+ - (void )setFrame : (CGRect)frame forView : (UIView *)view {
429429 NSNumber * hippyTag = view.hippyTag ;
430430 NSNumber * rootTag = view.rootTag ;
431431
432432 auto domManager = _domManager.lock ();
433433 if (!domManager) {
434434 return ;
435435 }
436- __weak id weakSelf = self;
436+
437+ __weak __typeof (self)weakSelf = self;
437438 std::vector<std::function<void ()>> ops_ = {[hippyTag, rootTag, weakSelf, frame]() {
438- HippyUIManager * strongSelf = weakSelf;
439+ __strong __typeof (weakSelf) strongSelf = weakSelf;
439440 if (!strongSelf) {
440441 return ;
441442 }
442- HippyShadowView *renderObject = [strongSelf->_shadowViewRegistry componentForTag: hippyTag onRootTag: rootTag];
443- if (renderObject == nil ) {
443+ HippyShadowView *shadowView = [strongSelf->_shadowViewRegistry componentForTag: hippyTag onRootTag: rootTag];
444+ if (!shadowView ) {
444445 return ;
445446 }
446447
447- if (!HippyCGRectRoundInPixelNearlyEqual (frame, renderObject .frame )) {
448- [renderObject setLayoutFrame: frame];
448+ if (!HippyCGRectRoundInPixelNearlyEqual (frame, shadowView .frame )) {
449+ [shadowView setLayoutFrame: frame];
449450 std::weak_ptr<RootNode> rootNode = [strongSelf->_shadowViewRegistry rootNodeForTag: rootTag];
450451 [strongSelf batchOnRootNode: rootNode];
451452 }
@@ -1073,19 +1074,19 @@ - (void)updateNodesLayout:(const std::vector<std::tuple<int32_t, hippy::LayoutRe
10731074 NSNumber *componentTag = @(tag);
10741075 hippy::LayoutResult layoutResult = std::get<1 >(layoutInfoTuple);
10751076 CGRect frame = CGRectMakeFromLayoutResult (layoutResult);
1076- HippyShadowView *renderObject = [_shadowViewRegistry componentForTag: componentTag onRootTag: rootTag];
1077- if (renderObject ) {
1078- [renderObject dirtyPropagation: NativeRenderUpdateLifecycleLayoutDirtied];
1079- renderObject .frame = frame;
1080- renderObject .nodeLayoutResult = layoutResult;
1077+ HippyShadowView *shadowView = [_shadowViewRegistry componentForTag: componentTag onRootTag: rootTag];
1078+ if (shadowView ) {
1079+ [shadowView dirtyPropagation: NativeRenderUpdateLifecycleLayoutDirtied];
1080+ shadowView .frame = frame;
1081+ shadowView .nodeLayoutResult = layoutResult;
10811082 [self addUIBlock: ^(__unused HippyUIManager *uiManager, NSDictionary <NSNumber *,__kindof UIView *> *viewRegistry) {
10821083 UIView *view = viewRegistry[componentTag];
10831084 /* do not use frame directly, because shadow view's frame possibly changed manually in
10841085 * [HippyShadowView collectRenderObjectHaveNewLayoutResults]
10851086 * This is a Wrong example:
10861087 * [view hippySetFrame:frame]
10871088 */
1088- [view hippySetFrame: renderObject .frame];
1089+ [view hippySetFrame: shadowView .frame];
10891090 }];
10901091 }
10911092 }
0 commit comments