/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/React/Views/ScrollView/RCTScrollContentShadowView.m
35 строк
1 KB
Ramanpreet Nara
Consolidate all c macros (#53823)
26 сен 2025, 02:59
26 сен 2025, 02:59
d389008
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import "RCTScrollContentShadowView.h" #ifndef RCT_REMOVE_LEGACY_ARCH #import <yoga/Yoga.h> #import "RCTUtils.h" @implementation RCTScrollContentShadowView - (void)layoutWithMetrics:(RCTLayoutMetrics)layoutMetrics layoutContext:(RCTLayoutContext)layoutContext { if (layoutMetrics.layoutDirection == UIUserInterfaceLayoutDirectionRightToLeft) { // Motivation: // Yoga place `contentView` on the right side of `scrollView` when RTL layout is enforced. // That breaks everything; it is completely pointless to (re)position `contentView` // because it is `contentView`'s job. So, we work around it here. layoutContext.absolutePosition.x += layoutMetrics.frame.size.width; layoutMetrics.frame.origin.x = 0; } [super layoutWithMetrics:layoutMetrics layoutContext:layoutContext]; } @end #endif // RCT_REMOVE_LEGACY_ARCH