diff --git a/React/Views/RefreshControl/RCTRefreshControl.m b/React/Views/RefreshControl/RCTRefreshControl.m index 1022b7896d8867..6985c38bce40b2 100644 --- a/React/Views/RefreshControl/RCTRefreshControl.m +++ b/React/Views/RefreshControl/RCTRefreshControl.m @@ -49,6 +49,18 @@ - (void)layoutSubviews _isInitialRender = false; } +- (void)didMoveToWindow +{ + [super didMoveToWindow]; + + // Since iOS 14 there seems to be a bug where refresh control becomes + // visible if the view gets removed from window then added back again. + // Calling endRefreshing fixes the layout. + if (!_currentRefreshingState) { + [super endRefreshing]; + } +} + - (void)beginRefreshingProgrammatically { UInt64 beginRefreshingTimestamp = _currentRefreshingStateTimestamp;