diff --git a/React/Views/RCTScrollView.m b/React/Views/RCTScrollView.m index 09c606176231d6..10f2e5ec9c5336 100644 --- a/React/Views/RCTScrollView.m +++ b/React/Views/RCTScrollView.m @@ -275,6 +275,11 @@ - (void)dockClosestSectionHeader { UIView *contentView = [self contentView]; CGFloat scrollTop = self.bounds.origin.y + self.contentInset.top; + // If the RefreshControl is refreshing, remove it's height so sticky headers are + // positioned properly when scrolling down while refreshing. + if (self.refreshControl != nil && self.refreshControl.refreshing) { + scrollTop -= self.refreshControl.frame.size.height; + } // Find the section headers that need to be docked __block UIView *previousHeader = nil;