diff --git a/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.h b/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.h index 1a62c3a8270760..48bbaa045edc29 100644 --- a/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.h +++ b/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.h @@ -14,8 +14,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign) CGFloat horizontalScrollerHeight; @property (nonatomic, assign) CGFloat verticalScrollerWidth; -- (instancetype)initWithVerticalScroller:(nullable NSScroller *)verticalScroller - horizontalScroller:(nullable NSScroller *)horizontalScroller; +- (instancetype)initWithVerticalScrollerWidth:(CGFloat)verticalScrollerWidth + horizontalScrollerHeight:(CGFloat)horizontalScrollerHeight; @end diff --git a/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.m b/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.m index 980e15844663a2..cac681ad3e5495 100644 --- a/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.m +++ b/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.m @@ -9,12 +9,12 @@ @implementation RCTScrollContentLocalData -- (instancetype)initWithVerticalScroller:(NSScroller *)verticalScroller - horizontalScroller:(NSScroller *)horizontalScroller +- (instancetype)initWithVerticalScrollerWidth:(CGFloat)verticalScrollerWidth + horizontalScrollerHeight:(CGFloat)horizontalScrollerHeight; { if (self = [super init]) { - _verticalScrollerWidth = NSWidth([verticalScroller frame]); - _horizontalScrollerHeight = NSHeight([horizontalScroller frame]); + _verticalScrollerWidth = verticalScrollerWidth; + _horizontalScrollerHeight = horizontalScrollerHeight; } return self; } diff --git a/React/Views/ScrollView/RCTScrollContentView.m b/React/Views/ScrollView/RCTScrollContentView.m index ca0f832cacf7d5..31c55a6c1821c9 100644 --- a/React/Views/ScrollView/RCTScrollContentView.m +++ b/React/Views/ScrollView/RCTScrollContentView.m @@ -61,10 +61,13 @@ - (void)reactSetFrame:(CGRect)frame _hasHorizontalScroller = nextHasHorizontalScroller; _hasVerticalScroller = nextHasVerticalScroller; + CGFloat horizontalScrollerHeight = _hasHorizontalScroller ? NSHeight([[platformScrollView horizontalScroller] frame]) : 0; + CGFloat verticalScrollerWidth = _hasVerticalScroller ? NSWidth([[platformScrollView verticalScroller] frame]) : 0; + RCTScrollContentLocalData *localData = [[RCTScrollContentLocalData alloc] - initWithVerticalScroller:[platformScrollView verticalScroller] - horizontalScroller:[platformScrollView horizontalScroller]]; + initWithVerticalScrollerWidth:horizontalScrollerHeight + horizontalScrollerHeight:verticalScrollerWidth]; [[[scrollView bridge] uiManager] setLocalData:localData forView:self]; } }